import json import requests class SphAuthor: def __init__(self, name): self.token = "2080949641" 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" self.name = name def get_user_id(self): url = "https://mp.weixin.qq.com/cgi-bin/videosnap" params = { "action": "search", "scene": "1", "buffer": "", "query": self.name, "count": "21", "token": self.token, "lang": "zh_CN", "f": "json", "ajax": "1" } headers = { 'authority': 'mp.weixin.qq.com', 'accept': '*/*', 'accept-language': 'en,zh-CN;q=0.9,zh;q=0.8', 'cookie': self.cookie, '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', 'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', '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', 'x-requested-with': 'XMLHttpRequest' } response = requests.request("GET", url, headers=headers, params=params) user_list = response.json() target_user = user_list['acct_list'][0] # 可以优化 return target_user def get_video_list(self): user_info = self.get_user_id() url = "https://mp.weixin.qq.com/cgi-bin/videosnap" params = { "action": "get_feed_list", "username": user_info['username'], "buffer": "", "count": "15", "scene": "1", "token": self.token, "lang": "zh_CN", "f": "json", "ajax": "1" } headers = { 'authority': 'mp.weixin.qq.com', 'accept': '*/*', 'accept-language': 'en,zh-CN;q=0.9,zh;q=0.8', 'cookie': self.cookie, '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', 'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"macOS"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', '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', 'x-requested-with': 'XMLHttpRequest' } response = requests.request("GET", url, headers=headers, params=params) video_list = response.json() # print(json.dumps(video_list, ensure_ascii=False, indent=4)) # print(len(video_list['list'])) for obj in video_list['list']: print(obj['desc']) if __name__ == "__main__": Sph = SphAuthor("心煤") Sph.get_video_list()