shipinhao_author_test.py 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. import json
  2. import requests
  3. class SphAuthor:
  4. def __init__(self, name):
  5. self.token = "2080949641"
  6. self.cookie = "ua_id=bw4VuFJr6fAuSkwdAAAAAClaW0m9Aua-6IfHaXU_zpo=; wxuin=95302180931488; mm_lang=zh_CN; RK=kreEMgtMMJ; ptcz=8fd1b267c98a1185bbe6455a081f1264048ee388363ca305d9ef4812892c7900; qq_domain_video_guid_verify=2ba78a5010233582; poc_sid=HOinP2Wj322Ex737kV651Zqy6y8fSprOUUvaegBg; _qimei_q36=; _qimei_h38=9eea33ea92afe8a922333fce03000001317916; pgv_pvid=9056371236; _clck=3930572231|1|fgk|0; uuid=6562bbd8859230ce4120dfa063c76997; rand_info=CAESIGAatjSIjvxVJVDxRDN7F/CNFWMifvAVqje98rd++8UY; slave_bizuin=3236647229; data_bizuin=3236647229; bizuin=3236647229; data_ticket=qm3i6jRhObs1yKHttGh0gVI02Mz7FTPfatn0RMLdaWyD7Ukcokm5Dc3mmYLQUZPg; slave_sid=UWxjZnhBREZRRTNKZ3dYZTlYRE9Db2lxQUhOM3lZUlRoMkV0MG1wdVVudGpQTWxnVkxzYW5pV2c3NjB3bnAyQ2lPaXBBVVRPazEybWtKSVEzTnUyazZ6WEJsdnFaWWVDaUFrM3pTTXRkeUNJS3RNVTc2NFRBWkZiVGQzYllacEFRalBBZ2tXZlltblJYS2VS; slave_user=gh_d284c09295eb; xid=cb96e6ba4b4960d74a22869b1bb21406; _clsk=z77guf|1699532621466|4|1|mp.weixin.qq.com/weheat-agent/payload/record"
  7. self.name = name
  8. def get_user_id(self):
  9. url = "https://mp.weixin.qq.com/cgi-bin/videosnap"
  10. params = {
  11. "action": "search",
  12. "scene": "1",
  13. "buffer": "",
  14. "query": self.name,
  15. "count": "21",
  16. "token": self.token,
  17. "lang": "zh_CN",
  18. "f": "json",
  19. "ajax": "1",
  20. }
  21. headers = {
  22. "authority": "mp.weixin.qq.com",
  23. "accept": "*/*",
  24. "accept-language": "en,zh-CN;q=0.9,zh;q=0.8",
  25. "cookie": self.cookie,
  26. "referer": "https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=77&createType=0&token=1678001807&lang=zh_CN",
  27. "sec-ch-ua": '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
  28. "sec-ch-ua-mobile": "?0",
  29. "sec-ch-ua-platform": '"macOS"',
  30. "sec-fetch-dest": "empty",
  31. "sec-fetch-mode": "cors",
  32. "sec-fetch-site": "same-origin",
  33. "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
  34. "x-requested-with": "XMLHttpRequest",
  35. }
  36. response = requests.request("GET", url, headers=headers, params=params)
  37. user_list = response.json()
  38. target_user = user_list["acct_list"][0] # 可以优化
  39. return target_user
  40. def get_video_list(self):
  41. user_info = self.get_user_id()
  42. url = "https://mp.weixin.qq.com/cgi-bin/videosnap"
  43. params = {
  44. "action": "get_feed_list",
  45. "username": user_info["username"],
  46. "buffer": "",
  47. "count": "15",
  48. "scene": "1",
  49. "token": self.token,
  50. "lang": "zh_CN",
  51. "f": "json",
  52. "ajax": "1",
  53. }
  54. headers = {
  55. "authority": "mp.weixin.qq.com",
  56. "accept": "*/*",
  57. "accept-language": "en,zh-CN;q=0.9,zh;q=0.8",
  58. "cookie": self.cookie,
  59. "referer": "https://mp.weixin.qq.com/cgi-bin/appmsg?t=media/appmsg_edit_v2&action=edit&isNew=1&type=77&createType=0&token=1678001807&lang=zh_CN",
  60. "sec-ch-ua": '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
  61. "sec-ch-ua-mobile": "?0",
  62. "sec-ch-ua-platform": '"macOS"',
  63. "sec-fetch-dest": "empty",
  64. "sec-fetch-mode": "cors",
  65. "sec-fetch-site": "same-origin",
  66. "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36",
  67. "x-requested-with": "XMLHttpRequest",
  68. }
  69. response = requests.request("GET", url, headers=headers, params=params)
  70. video_list = response.json()
  71. # print(json.dumps(video_list, ensure_ascii=False, indent=4))
  72. # print(len(video_list['list']))
  73. for obj in video_list["list"]:
  74. print(obj["desc"])
  75. if __name__ == "__main__":
  76. Sph = SphAuthor("心煤")
  77. Sph.get_video_list()