pq_cover.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import requests
  2. import json
  3. class PQ:
  4. @staticmethod
  5. def get_pq_all_cover(video_id: str):
  6. """获取所有封面"""
  7. url = "https://longvideoapi.piaoquantv.com/longvideoapi/video/getCoverImagePaths?muid=999"
  8. payload = f"versionCode=31&platform=PC&appType=5&loginUid=208&id={video_id}&needSelfCoverImg=1"
  9. headers = {
  10. 'accept': '*/*',
  11. 'accept-language': 'zh-CN,zh;q=0.9',
  12. 'cache-control': 'no-cache',
  13. 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
  14. 'origin': 'https://admin.piaoquantv.com',
  15. 'pragma': 'no-cache',
  16. 'priority': 'u=1, i',
  17. 'sec-ch-ua-mobile': '?0',
  18. 'sec-ch-ua-platform': '"macOS"',
  19. 'sec-fetch-dest': 'empty',
  20. 'sec-fetch-mode': 'cors',
  21. 'sec-fetch-site': 'same-site',
  22. 'Cookie': 'JSESSIONID=694A2E661D405FD3A62B2F4AE84B91D4'
  23. }
  24. response = requests.request("POST", url, headers=headers, data=payload)
  25. response = response.json()
  26. code = response['code']
  27. if code != 0:
  28. return
  29. cover_imgs = response['data']['videoCoverImages']
  30. return cover_imgs
  31. @staticmethod
  32. def update_pq_video_cover(video_id: str, cover_url: str, cover_id: int):
  33. """修改封面"""
  34. if cover_id == None:
  35. return 1
  36. url = "https://admin.piaoquantv.com/manager/video/multiCover/update?muid=999"
  37. payload = json.dumps([
  38. {
  39. "id": cover_id,
  40. "coverUrl": cover_url,
  41. "shareWeight": 1000,
  42. "distributionWeight": 1000,
  43. "videoId": video_id
  44. }
  45. ])
  46. headers = {
  47. 'accept': 'application/json',
  48. 'accept-language': 'zh-CN,zh;q=0.9',
  49. 'cache-control': 'no-cache',
  50. 'content-type': 'application/json',
  51. 'cookie': 'SESSION=NjVmNjUzNDYtZDQzNy00MjA4LTgzMTktY2Q2ODE3ODAxMmQ3',
  52. 'origin': 'https://admin.piaoquantv.com',
  53. 'pragma': 'no-cache',
  54. 'priority': 'u=1, i',
  55. 'sec-ch-ua-mobile': '?0',
  56. 'sec-ch-ua-platform': '"macOS"',
  57. 'sec-fetch-dest': 'empty',
  58. 'sec-fetch-mode': 'cors',
  59. 'sec-fetch-site': 'same-origin'
  60. }
  61. response = requests.request("POST", url, headers=headers, data=payload)
  62. response = response.json()
  63. code = response['code']
  64. print(code)
  65. return code
  66. @staticmethod
  67. def get_pq_cover_id(video_id: str):
  68. """获取封面id"""
  69. url = "https://admin.piaoquantv.com/manager/video/multiCover/listV2?muid=999"
  70. payload = json.dumps({
  71. "videoId": video_id,
  72. "range": "2h"
  73. })
  74. headers = {
  75. 'accept': 'application/json',
  76. 'accept-language': 'zh-CN,zh;q=0.9',
  77. 'cache-control': 'no-cache',
  78. 'content-type': 'application/json',
  79. 'cookie': 'SESSION=NjVmNjUzNDYtZDQzNy00MjA4LTgzMTktY2Q2ODE3ODAxMmQ3',
  80. 'origin': 'https://admin.piaoquantv.com',
  81. 'pragma': 'no-cache',
  82. 'priority': 'u=1, i',
  83. 'sec-ch-ua-mobile': '?0',
  84. 'sec-ch-ua-platform': '"macOS"',
  85. 'sec-fetch-dest': 'empty',
  86. 'sec-fetch-mode': 'cors',
  87. 'sec-fetch-site': 'same-origin'
  88. }
  89. response = requests.request("POST", url, headers=headers, data=payload)
  90. response = response.json()
  91. code = response['code']
  92. if code != 0:
  93. return None, None
  94. cover_id = response['content'][0]['id']
  95. cover_url = response['content'][0]['coverUrl']
  96. return cover_id, cover_url