前言
嗨喽~大家好呀,这里是魔王呐 ❤ ~!
今天来教大家如何使用Fiddler抓包工具
,获取公众号(PC客户端)的数据。
Fiddler是一个http协议调试代理工具,它能够记录并检查所有你的电脑和互联网之间的http通讯,设置断点,查看所有的“进出”Fiddler的数据(指cookie,html,js,css
等文件)。
Fiddler是位于客户端和服务器端的HTTP代理,是目前最常用的http抓包工具之一。
目录
- 前言
- 开发环境
- **本文所有模块\环境\源码\教程皆可点击文章下方名片获取[此处跳转](#article_bottom)**
- 如何抓包
- 代码展示
- **本文所有模块\环境\源码\教程皆可点击文章下方名片获取[此处跳转](#article_bottom)**
- 尾语
开发环境
python 3.8 运行代码
pycharm 2021.2 辅助敲代码
requests 第三方模块
Fiddler 汉化版 抓包的工具
微信PC端
本文所有模块\环境\源码\教程皆可点击文章下方名片获取此处跳转
如何抓包
配置Fiddler环境
先打开Fiddler,选择工具,再选选项
在选项窗口里点击HTTPS,把勾选框都勾选上
在选项窗口里点击链接,把勾选框都勾选上,然后点击确定即可
我们还需要在客户端把网络代理开启
地址:127.0.0.1
端口:8888
抓包
先登录,然后清空Fiddler里的数据,在选到你想要的公众号内容
出现数据包后,点开,再选择Raw,里面的就是请求的具体信息
代码展示
本文所有模块\环境\源码\教程皆可点击文章下方名片获取此处跳转
先访问到列表页,获取所有的详情页链接
请求头
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" />'Accept-Encoding': 'gzip, deflate, br','Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7',}
发送请求
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)
再访问所有详情页链接,获取需要的图片内容
发送请求
html_data = requests.get(url=content_url, headers=headers, verify=False).text
解析数据
img_list = re.findall(', html_data)print(img_list)
保存数据
for img in img_list:img_data = requests.get(url=img, verify=False).contentopen(f'img/{index}.jpg', mode='wb').write(img_data)index += 1
尾语
要成功,先发疯,下定决心往前冲!
学习是需要长期坚持的,一步一个脚印地走向未来!
未来的你一定会感谢今天学习的你。
—— 心灵鸡汤
本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦
问题解答 · 源码获取 · 技术交流 · 抱团学习请联系