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

如何正确使用 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()

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

以上就是如何正确使用 Python 获取微信网页版个人用户信息?的详细内容,更多请关注其它相关文章!