爬虫python入门基础学习

Python抖音机器人制作!让你有看不完的小姐姐

2018-07-26  本文已影响271人  编程新视野

抖音有多火?可以用一句话概括: 犹如蝗虫经过之处,庄稼寸地不生 。

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要这是一个我的python交流群:831524055,不管你是小白还是大牛欢迎入驻 ,讨论技术, 大家一起交流学习成长!

问题: 爬网站我会了, 手机app能不能爬?

稍微解释下原理: 一般资讯类app或网站, 都是调"后端"拿数据. 这就是为什么刷手机会耗流量.....说明在你点app的时候, 它去其他地方拿数据了. 这个其他地方就是后端. 并且通信方式大多是之前提到了HttpRequest方式.拿到的结果基本都是json结构.

所以: 我们如果能知道手机发出去的请求是什么, 就像前面文章中"找url"一样. 只要知道url和调用方式, 剩下的就是写代码了.

问题: 怎么找app调用的url? 用fiddler!

fiddler抓手机app的请求,估计大部分都会,但是如何只抓来自app的请求呢?

把来自pc的请求过滤掉,因为请求太多,这样会找不到重要的信息了。

环境准备:

1.电脑上已装fiddler

2.手机和电脑在同一局域网

(一)、设置

1.fiddler>Tools>Fiddler Options>Connections 勾选Allow remote computers to connect。

2.记住这里的端口号:8888,后面会用到。

(二)、查看电脑IP

1.打开cmd,输入:ipconfig,记住这个IPv4地址。

(三)、设置代理

1.手机设置->WLAN设置->选择该wifi,点右边的箭头(有的手机是长按弹出选项框)。

2.选择修改网络配置:

配置主机名:与主机电脑IP地址保持一致

端口号:8888

3.保存后就可以抓到来自手机的请求了。

(四)、抓APP上的HTTPS请求

1.如果app都是http请求,是不需要安装证书,能直接抓到的,如果是https请求,这时候手机就需要下载证书了。

2.打开手机浏览器输入:http://10.224.xx.xx:8888,这个中间的host地址就是前面查到的本机地址。

3.出现如下画面,点箭头所指的位置,点击安装就可以了。


刷两下手机, 看到fiddler有收到请求

先看个图感受下

我们找下数据:

特别注意:

我们再用https://www.json.cn/ 网站好好看下返回数据 (这个工具网站挺好的)
数据量大的时候会卡住..等一会

字段超多....抖音还是有钱,很多字段其实在首页列表的地方并不需要...但是还是返回了........真的不考虑下用户的感受么...用4G的话刷个列表都会很耗流量的......

另一个小经验: 有些app安全做的很好, 也就是headers里面有些信息是加密生成的...自己没法伪造, 这个时候要要么尝试爆破加密信息, 要么可以辛苦下手机, 通过不断刷手机, 再从fiddler拿到数据. (刷手机其实也可以让程序去做.见之后的文章)

我简单试了下, fiddler支持定制脚本如下 在FiddlerScript里面是一个js脚本, 可以定制一些动作, 比如在getResponse的时候加个write to file. 就能保存数据了.,,,,但是要对js懂一些.

charles限速可以直接点击UI设置,fiddler限速就要靠强大的FiddlerScript了

打开脚本编辑器

搜索m_SimulateModem

然后根据自己的需要修改如下语句

oSession["request-trickle-delay"] ="300";(每上传1KB延迟300ms)oSession["response-trickle-delay"] ="150";(每下载1KB延迟150ms)

Save Script后,勾选rule-performance-Simulate Modem Speeds生效

顺便附上各网络速率表

其他的不用多讲,需要详细了解的可以搜索下,我只是提供大家几个方面让大家了解,因为往往对于初学者,是迷茫的,因为不支持从什么方向去了解一个事物,而我就是提供方向的,具体的大家可以自己去了解。

话不多说,资源共享,直接上图:

还有很多包括视频我就不一一截图了,需要这些资料的可以先关注小编,转发评论,私信小编 晓雯
上一篇下一篇

猜你喜欢

热点阅读