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需要掌握的知識有個清晰的了解,并快速入門Python開發。千鋒Python培訓機構視頻教程分為三個大塊:Python基礎視頻教程、Python高級視頻教程、Python高手晉級視頻教程。視頻講解通俗易懂,入門Python開發僅用此套視頻足矣。想要獲取免費Python學習路線和學習資料可以添加我們的Python技術交流qq群:790693323 加群找群管理領取即可,Python相關技術問題也可以加群解決,等你來哦~~~~