pq_cover.py 4.5 KB

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