前言
嗨嘍~大家好呀,這里是魔王吶 ? ~!

今天來教大家如何使用Fiddler抓包工具,獲取公眾號(hào)(PC客戶端)的數(shù)據(jù)。
Fiddler是一個(gè)http協(xié)議調(diào)試代理工具,它能夠記錄并檢查所有你的電腦和互聯(lián)網(wǎng)之間的http通訊,設(shè)置斷點(diǎn),查看所有的“進(jìn)出”Fiddler的數(shù)據(jù)(指cookie,html,js,css等文件)。
Fiddler是位于客戶端和服務(wù)器端的HTTP代理,是目前最常用的http抓包工具之一。

開發(fā)環(huán)境
python 3.8 運(yùn)行代碼
pycharm 2021.2 輔助敲代碼
requests 第三方模塊
Fiddler 漢化版 抓包的工具
微信PC端

如何抓包
配置Fiddler環(huán)境
先打開Fiddler,選擇工具,再選選項(xiàng)

在選項(xiàng)窗口里點(diǎn)擊HTTPS,把勾選框都勾選上

在選項(xiàng)窗口里點(diǎn)擊鏈接,把勾選框都勾選上,然后點(diǎn)擊確定即可

我們還需要在客戶端把網(wǎng)絡(luò)代理開啟
地址:127.0.0.1
端口:8888

抓包
先登錄,然后清空Fiddler里的數(shù)據(jù),在選到你想要的公眾號(hào)內(nèi)容

出現(xiàn)數(shù)據(jù)包后,點(diǎn)開,再選擇Raw,里面的就是請(qǐng)求的具體信息


代碼展示
先訪問到列表頁(yè),獲取所有的詳情頁(yè)鏈接
請(qǐng)求頭
headers = {
'Host': 'mp.weixin.qq.com',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 NetType/WIFI MicroMessenger/7.0.20.1781(0x6700143B) WindowsWechat(0x63090016)',
'X-Requested-With': 'XMLHttpRequest',
'Accept': '*/*',
'Cookie': 'wxuin=2408215323; lang=zh_CN; devicetype=android-29; version=28002037; pass_ticket=f85UL5Wi11mqpsvuWgLUECYkDoL2apJ045mJw9lzhCjUteAxd4jM8PtaJCM0nBXrQEGU9D7ulLGrXpSummoA==; wap_sid2=CJvmqfwIEooBeV9IR29XUTB2eERtakNSbzVvSkhaRHdMak9UMS1MRmg4TGlaMjhjbTkwcks1Q2E2bWZ1cndhUmdITUZUZ0pwU2VJcU51ZWRDLWpZbml2VkF5WkhaU0NNaDQyQ1RDVS1GZ05mellFR0R5UVY2X215bXZhUUV0NVlJMVRPbXFfZGQ1ZnVvMFNBQUF+MPz0/50GOA1AlU4=',
'Sec-Fetch-Site': 'same-origin',
'Sec-Fetch-Mode': 'cors',
'Sec-Fetch-Dest': 'empty',
'Referer': 'https://mp.weixin.qq.com/mp/profile_ext?action=home&__biz=Mzg3Nzc2OTQzOA==&uin=MjQwODIxNTMyMw%3D%3D&key=2ed1dc903dceac3d9a380beec8d46a84995a555d7c7eb7b793a3cc4c0d32bc588e1b6df9da9fa1a258cb0db4251dd36eda6029ad4831c4d57f6033928bb9c64c12b8e759cf0649f65e4ef30753ff3092a2a4146a008df311c110d0b6f867ab173792368baa9aaf28a514230946431480cc6b171071a9f9a1cd52f7c07a751925&devicetype=Windows+10+x64&version=63090016&lang=zh_CN&a8scene=7&session_us=gh_676b5a39fe6e&acctmode=0&pass_ticket=f85UL5Wi11%2BmqpsvuW%2BgLUECYkDoL2apJ045mJw9lzhCjUteAxd4jM8PtaJCM0nBXrQEGU9D7ulLGrXpSummoA%3D%3D&wx_header=1&fontgear=2',
'Accept-Encoding': 'gzip, deflate, br',
'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',
}
發(fā)送請(qǐng)求
url = f'https://mp.weixin.qq.com/mp/profile_ext?action=getmsg&__biz=Mzg3Nzc2OTQzOA==&f=json&offset=10&count=10&is_ok=1&scene=&uin=MjQwODIxNTMyMw%3D%3D&key=3e8646dd303f109219f39517773e368d92e1975e6972ccf5d1479758d37ecec3e55bc3cb1bb5606d79ec76073ab58e4019ee720c31c2b36fafa9fe891e7afb1e22809e5db3cd8890ab35a570ffb680d16617ac3049d6627e61ffdf3305e4575666e30ad80a57b14555aa6c5a3a0fb0001a6d5d2cd76fd8af116a086ce9ef2c8e&pass_ticket=f85UL5Wi11%2BmqpsvuW%2BgLUECYkDoL2apJ045mJw9lzjmzvDbqI6V6Y%2FkXeYCZ7WsuMSqko7EWesSKLrDKnJ96A%3D%3D&wxtoken=&appmsg_token=1200_VUCOfHI2jYSEziPbaYFlHoaB7977BJYsAb5cvQ~~&x5=0&f=json'
response = requests.get(url=url, headers=headers, verify=False)
解析
general_msg = response.json()['general_msg_list']
general_msg_list = json.loads(general_msg)
for general in general_msg_list['list']:
content_url = general['app_msg_ext_info']['content_url']
print(content_url)
再訪問所有詳情頁(yè)鏈接,獲取需要的圖片內(nèi)容
發(fā)送請(qǐng)求
html_data = requests.get(url=content_url, headers=headers, verify=False).text
解析數(shù)據(jù)
img_list = re.findall('<img class=".*?data-src="(.*?)"', html_data)
print(img_list)
保存數(shù)據(jù)
for img in img_list:
img_data = requests.get(url=img, verify=False).content
open(f'img/{index}.jpg', mode='wb').write(img_data)
index += 1
尾語(yǔ) ??
要成功,先發(fā)瘋,下定決心往前沖!
學(xué)習(xí)是需要長(zhǎng)期堅(jiān)持的,一步一個(gè)腳印地走向未來!
未來的你一定會(huì)感謝今天學(xué)習(xí)的你。
—— 心靈雞湯
本文章到這里就結(jié)束啦~感興趣的小伙伴可以復(fù)制代碼去試試哦 ??
