Python作為一種編程語言,超級多的庫能夠幫助我們完成很多繁瑣的工作,今天小千就來教大家如何去利用Python獲取qq好友的備注信息。
首先這個問題并不是很難,我們需要準(zhǔn)備好一些工具,使用到requests模塊通過接口獲取到你的qq好友列表,然后使用json模塊對獲取到的數(shù)據(jù)進(jìn)行處理或得到我們需要的好友備注信息。
一、通過對qq郵箱的抓包獲取好友接口參數(shù)
1、chrome瀏覽器打開并登錄qq郵箱
2、右鍵選擇檢查->network,勾選preserve log和XHR
3、點(diǎn)擊發(fā)件,刷新頁面
4、network中查找下圖標(biāo)注的請求,獲取右側(cè)紅圈中的參數(shù)
二、使用python+requests+json實(shí)現(xiàn)接口數(shù)據(jù)的獲取
1、使用vscode創(chuàng)建一個getData.py文件,輸入如下
import selenium
import json
import requests
#先執(zhí)行這兩句,獲取qq好友接口的基礎(chǔ)數(shù)據(jù)
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、將獲取的數(shù)據(jù)文件進(jìn)行處理
因?yàn)樵摻涌诜祷氐臄?shù)據(jù)類型是HTML,我們需要對保存的json文件進(jìn)行處理 。
將qqList.json文件中的:({timeuse:["286"],sortbyupdatetime : 部分內(nèi)容刪除掉,對應(yīng)后面也要刪除對應(yīng)的符號 , 只保留這種結(jié)構(gòu)的數(shù)據(jù):[[],[],.............................[]]
在執(zhí)行json轉(zhuǎn)格式的時(shí)候,會又decodeError問題,需要刪除文件中的一些字符如:??、\x等,可以根據(jù)提示信息進(jìn)行調(diào)試
3、對上一步的數(shù)據(jù)進(jìn)行分析
通過分析,上圖列表中:
第三列是qq郵箱(可以處理出對應(yīng)的qq號碼)
第四列是該qq號昵稱
第九列是該qq的備注信息
4、控制臺查看獲取的qq好友列表,也可以直接寫入文件
最后同學(xué)們學(xué)習(xí)Python,可以參考千鋒Python培訓(xùn)班推出的Python開發(fā)學(xué)習(xí)路線,結(jié)合千鋒Python培訓(xùn)機(jī)構(gòu)名師精心錄制的全套Python視頻教程,可以讓你對學(xué)習(xí)Python需要掌握的知識有個清晰的了解,并快速入門Python開發(fā)。千鋒Python培訓(xùn)機(jī)構(gòu)視頻教程分為三個大塊:Python基礎(chǔ)視頻教程、Python高級視頻教程、Python高手晉級視頻教程。視頻講解通俗易懂,入門Python開發(fā)僅用此套視頻足矣。想要獲取免費(fèi)Python學(xué)習(xí)路線和學(xué)習(xí)資料可以添加我們的Python技術(shù)交流qq群:790693323 加群找群管理領(lǐng)取即可,Python相關(guān)技術(shù)問題也可以加群解決,等你來哦~~~~