【Python有趣打卡】微博APP爬虫,尽知天下事
【Python有趣打卡】微博APP榜单爬虫,尽知天下事

今天要跟着罗罗攀(公众号:luoluopan1)学习Python有趣|微博APP爬虫,尽知天下事,每周都跟着罗老师学有趣的python案例,继续安利他这周的例子。
今天爬虫要用到一个小工具
!!! Fiddler!!!
官网:https://www.telerik.com/fiddler
下载后直接安装即可
配置fiddler:Tools→Option→如图→重启软件!!!!记得重启
重启了吗??记得哦
配置手机:
第一步:为了让Fiddler截取手机的包,需要让手机和电脑在同一个ip下,在电脑端的cmd中输入:ipconfig,获取电脑ip地址。
第二步:打开手机共同连接的无线网络,手动配置代理,电脑的iP地址配置好
第三步:用手机浏览器打开网址:http://192.168.0.144 :8888,写你自己的IP地址,然后下载证书。
IPhone手机还需要在关于本机中,设置中信任证书。
这样就搞定啦~可以开始抓包啦
fiddler用法
先来看下fiddler工具怎么用吧~
Statistics:关于HTTP请求的性能以及数据分析
Inspectors:用于查看会话的内容,上半部分是请求的内容,下半部分是响应的内容。
请求区中的"raw"(原始数据)是最常用也是最详细的,一般我们要抓包模拟都是从这里复制数据,然后修改的,其它的项是分析请求中的某一种数据;
Fiters:过滤请求用的,由于左边的窗口不断的更新,你刷新一下浏览器,一大片不知道哪来请求,它还一直刷新。这个时候通过过滤规则来过滤掉那些不想看到的请求。
设置过滤
手机上完成配置后,fiddler抓到的除了手机还有PC端的,如果PC也在打开网址的话,那会有很多干扰信息,因此我们要设置过滤功能。
打开fiddler>Tools>Fiddler Options>HTTPS>…from remote clients only,勾选这个选项就可以了
…from all processes :抓所有的请求
…from browsers only :只抓浏览器的请求
…from non-browsers only :只抓非浏览器的请求
…from remote clients only:只抓远程客户端请求
(注意:如果手机设置代理后,测玩之后记得恢复原样,要不然手机无法正常上网。)
多找几个,发现“refresh”那段语句的规律
这里是有规律的,这里就是可以不停的往下滑的原因!
找到我们要的一些字段后,我们开始写代码吧!
测试:
爬取的微博的热门榜单(果真前几个就有我居居老师,(▽))
import requests
headers = {
'Host': 'api.weibo.cn',
'Content-Type'