functions.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import json
  2. import time
  3. import random
  4. import requests
  5. def get_tencent_video_url(video_id):
  6. url = "https://h5vv.video.qq.com/getinfo?vid={}&platform=101001&charge=0&otype=json&defn=shd".format(
  7. video_id
  8. )
  9. headers = {
  10. "Host": "h5vv.video.qq.com",
  11. "xweb_xhr": "1",
  12. "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36 MicroMessenger/6.8.0(0x16080000) NetType/WIFI MiniProgramEnv/Mac MacWechat/WMPF XWEB/30817",
  13. "Content-Type": "application/x-www-form-urlencoded",
  14. "Accept": "*/*",
  15. "Sec-Fetch-Site": "cross-site",
  16. "Sec-Fetch-Mode": "cors",
  17. "Sec-Fetch-Dest": "empty",
  18. "Referer": "https://servicewechat.com/wx5fcd817f3f80aece/3/page-frame.html",
  19. "Accept-Language": "en",
  20. }
  21. response = requests.get(url, headers=headers)
  22. result = json.loads(response.text.replace("QZOutputJson=", "")[:-1])
  23. vl = result["vl"]["vi"][0]
  24. key = vl["fvkey"]
  25. name = vl["fn"]
  26. folder = vl["ul"]["ui"][0]["url"]
  27. video_url = folder + name + "?vkey=" + key
  28. time.sleep(random.randint(1, 5))
  29. return video_url
  30. def get_video_list():
  31. url = "https://txdby.leyoukge.com/api/getVideoListByPagination"
  32. params = {
  33. "i": 1,
  34. "v": "1.0.0",
  35. "class_id": 6,
  36. "page": 1
  37. }
  38. headers = {
  39. 'Host': 'txdby.leyoukge.com',
  40. 'xweb_xhr': '1',
  41. 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36 MicroMessenger/6.8.0(0x16080000) NetType/WIFI MiniProgramEnv/Mac MacWechat/WMPF MacWechat/3.8.5(0x13080510)XWEB/1100',
  42. 'Content-Type': 'application/x-www-form-urlencoded',
  43. 'Accept': '*/*',
  44. 'Referer': 'https://servicewechat.com/wx6665a673af83c3e8/3/page-frame.html',
  45. 'Accept-Language': 'en-US,en;q=0.9'
  46. }
  47. response = requests.request("GET", url, headers=headers, params=params)
  48. # print(json.dumps(response.json(), indent=4, ensure_ascii=False))
  49. return response.json()
  50. # result = get_video_list()
  51. # print(json.dumps(result, ensure_ascii=False, indent=4))
  52. for video_obj in get_video_list()['extra']:
  53. vid = video_obj['vid']
  54. print(video_obj['title'])
  55. url = get_tencent_video_url(vid)
  56. print(url)