如何正确使用 Python 获取微信网页版个人用户信息?

ID:20669 / 打印

如何正确使用 python 获取微信网页版个人用户信息?

获取微信网页版自身用户信息

本篇文章讨论了如何获取微信网页版的个人用户信息。本文提供了python代码示例,但遇到问题无法获取数据。

问题分析

分析代码后发现,问题在于 params 和 headers 的使用。原来代码中 params 使用了 json.loads 函数进行转换,但正确的方法是直接使用 json。此外,headers 也遗漏了部分必要信息。

立即学习“Python免费学习笔记(深入)”;

解决方案

为了解决问题,需要将 params 改为 json,并去掉 headers。具体修改如下:

    wxinitresult = wxreq.post(url=urlformat, json=json.loads(param), timeout=8)

最终代码

修改后的代码如下:

def recentContacts():     """ 获取自己的user 信息 """     hhh = {         "Content-Type": "application/json;charset=UTF-8",         "Cookie": "mm_lang=zh_CN; MM_WX_NOTIFY_STATE=1; MM_WX_SOUND_STATE=1; wxuin=183995159; webwxuvid=2; last_wxuin=183995159; refreshTimes=2; wxpluginkey=1630297861; wxsid=ZfCC7CvUPdWCj9yj; webwx_data_ticket=gScyj+dKaknZ9Y3PAVccmnAa; webwx_auth_ticket=CIsBEKea/4MFGoABJMGUI5+nhhH2bDPd4F1EtWzR9AiGSxCX+yj7Hi+FS17g/bm0h3uspVxMKjuik01E82rsO7LKMFaqdbqoeOzylwB6N5pLxbdcGumSvuh2WK/gdutjWyJQMXdHk44V/Ju/52nSWIYfT3WT3IzrSePKOjAjgfXfEizf5lXBRI0xG1g=; login_frequency=2; wxloadtime=1630302465_expired",         "Host": "wx.qq.com",         "Origin": "https://wx.qq.com",         "Referer": "https://wx.qq.com/?&lang=zh_CN",         "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36",     }     param = '{"BaseRequest":{"Uin":"1839925159","Sid":"ZfCC7CvUP2dWCj9yj","Skey":"@2323423423","DeviceID":"e539289469584078"}}'     urlFormat = f'https://wx.qq.com/cgi-bin/mmwebwx-bin/webwxinit?r=1785122109&lang=zh_CN&pass_ticket=7JHN0698%252BPMtUbcJnHBA6vTsz6hzpPPWMXJaPZDOQDA%253D'      wxInitResult = wxReq.post(url=urlFormat, json=json.loads(param), timeout=8)     wxInitResult.encoding = "utf-8"     print(wxInitResult.text)  if __name__ == "__main__":     recentContacts()

经修改后,代码可以正常获取微信网页版的用户信息。

上一篇: 12306 列车信息获取为空:如何使用 Cookies 解决?
下一篇: Python 爬虫使用代理 IP 访问淘宝时无法登录,如何解决“selenium.common.exceptions.InvalidCookieDomainException”错误?

作者:admin @ 24资源网   2025-01-14

本站所有软件、源码、文章均有网友提供,如有侵权联系308410122@qq.com

与本文相关文章

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。