Python作为一种编程语言,超级多的库能够帮助我们完成很多繁琐的工作,今天小千就来教大家如何去利用Python获取qq好友的备注信息。
首先这个问题并不是很难,我们需要准备好一些工具,使用到requests模块通过接口获取到你的qq好友列表,然后使用json模块对获取到的数据进行处理或得到我们需要的好友备注信息。
一、通过对qq邮箱的抓包获取好友接口参数
1、chrome浏览器打开并登录qq邮箱
2、右键选择检查->network,勾选preserve log和XHR
3、点击发件,刷新页面
4、network中查找下图标注的请求,获取右侧红圈中的参数
二、使用python+requests+json实现接口数据的获取
1、使用vscode创建一个getData.py文件,输入如下
import selenium
import json
import requests
#先执行这两句,获取qq好友接口的基础数据
url = "https://mail.qq.com/cgi-bin/laddr_lastlist?sid=_N9h8WEQverG-WQE&encode_type=js&t=addr_datanew&s=AutoComplete&category=hot&resp_charset=UTF8&ef=js&r=0.7813506303520998"
headers = {"Cookie":"pgv_pvid=1219452623; RK=hW4Q1eRa/h;ptcz=6814329ad9d42214c6e617d3db2fcb23ab98f1ac447d0a7c414c7f3c44c0187e; luin=o2572652583; lskey=00010000394c8f52351da20a1102ee9ccb7715ed35a2542daf45ae70eba3aaeb105c3a4ec78e61dbf54317a6;o_cookie=2572652583; pac_uid=1_2572652583;iip=0; tvfe_boss_uuid=3f54e47106c5d02f; uin=o2572652583; skey=@SztvC8mI4; p_uin=o2572652583;pt4_token=iVOlGPh6m0C-WTNCPC5wRWA0V-yTfuXVhSXeRrQ0qA0_; p_skey=W*PrX2*MIQwVgsO-iKniPDmG7Go9NipopyF3Hjsp-1Y_; wimrefreshrun=0&; qm_logintype=qq; qm_antisky=-1722314713&70029e2befa715a33cc0e5cc2b0f51c045abaf8365d1ce447dbf1d61994fbcfe; qm_flag=0; qqmail_alias=2572652583@qq.com;sid=-1722314713&fafea65f80cffe68b62217baea7b3ecd,qVypQclgyKk1JUXdWZ3NPLWlLbmlQRG1HN0dvOU5pcG9weUYzSGpzcC0xWV8.; qm_username=2572652583; new_mail_num=-1722314713&0; qm_domain=https://mail.qq.com; qm_ptsk=-1722314713&@SztvC8mI4; qm_ptlsk=-1722314713&00010000394c8f52351da20a1102ee9ccb7715ed35a2542daf45ae70eba3aaeb105c3a4ec78e61dbf54317a6; foxacc=-1722314713&1; ssl_edition=sail.qq.com; edition=mail.qq.com; qm_loginfrom=-1722314713&clientread; username=-1722314713&2572652583;xm_uin=13102663597527079; xm_sid=zSdER4yQVWouV3puAJlfMQAA; xm_skey=13102663597527079&91d9aa3df6b4935435da118a49f4dba0; webp=1; CCSHOW=000000",
"Referer":"https://mail.qq.com/zh_CN/htmledition/ajax_proxy.html?mail.qq.com&v=140521",
"Host":"mail.qq.com"
}
res = requests.get(url,headers=headers)
with open(r"./qqList.json","a+",encoding="utf-8") as f:
f.write(res.text)
2、将获取的数据文件进行处理
因为该接口返回的数据类型是HTML,我们需要对保存的json文件进行处理 。
将qqList.json文件中的:({timeuse:["286"],sortbyupdatetime : 部分内容删除掉,对应后面也要删除对应的符号 , 只保留这种结构的数据:[[],[],.............................[]]
在执行json转格式的时候,会又decodeError问题,需要删除文件中的一些字符如:??、\x等,可以根据提示信息进行调试
3、对上一步的数据进行分析
通过分析,上图列表中:
第三列是qq邮箱(可以处理出对应的qq号码)
第四列是该qq号昵称
第九列是该qq的备注信息
4、控制台查看获取的qq好友列表,也可以直接写入文件
最后同学们学习Python,可以参考千锋成都Python培训班推出的Python学习路线,结合千锋成都名师精心录制的全套Python视频教程,可以让你对学习Python需要掌握的知识有个清晰的了解,并快速入门Python开发。