内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

爬虫课堂(二十九):爬虫是否可以爬取APP的数据

2018-04-16 13:53 出处:清屏网 人气: 评论(0

开始讲爬取APP的相关工作,本文先将理论,下一篇文章讲实战。

首先,给出答案: APP的数据肯定是可以爬取 ,只是抓取APP数据和抓取网页数据时使用的工具和方法有一定的不同。

我在某网站看到一位作者分析研究了300个APP抓包,得出如下结论:

50%的APP,通过抓包软件就可以分析出抓取参数并抓取到信息,这种往往比网站的要简单,而且反爬也没有网站多。

30%的APP,需要适当的反编译,分析出加密算法并抓取到信息。

10%的APP,已经加固,需要脱壳,然后反编译,分析出加密算法并抓取到信息。

10%的APP,通过各式各样的签名、证书、设备绑定等方法,隐藏加密算法。

总的来说,没有不能抓取的APP,只是时间成本的问题。

我们知道抓取网页数据可以直接在浏览器上查看它的HTTP请求,通过解析HTML结构,或者通过获取接口,甚至需要通过模拟访问网页的方式获取动态的数据。那么首先需要解决的问题就是如何获取APP的请求数据?答案是APP的请求数据是需要通过截获数据传输包的形式进行抓取,比如使用Fiddler截获HTTP、HTTPS的数据,使用Wireshark获取更多的封包信息(Wireshark是一个网络封包分析软件)。

—般来说,使用Wireshark+Fiddler获取软件大部分的请求数据是没有多大问题的,但是很难获取使用SSL/TLS等加密手段加密过的网络数据。

下面讲一下要抓取一个APP的数据的流程:

  1. 假设要抓简书APP的数据,请求数据主要有HTTP/HTTPS两个协议类型。这里使用Fiddler软件就可以,HTTP请求的是比较容易获取,HTTPS请求的数据需要在Fiddler上安装证书,安装过程很简单(后面章节会讲如何安装)。
  2. 操作完之后,我们在手机上简书APP的所有操作(请求)的请求数据都会显示在Fiddler上。包括HTTPH/TTPS协议数据都能获得到。
  3. 当然,在必要的时候也可以使用Wireshark获得简书APP的TCP数据。
  4. 通过以上操作可以取得大部分的数据,剩下的就是分析数据的工作。
  5. 拿到这些原始数据之后,我们还需要进行大量的清洗工作,把一些干扰的请求数据排除。
  6. 找出获取我们想要获取的数据的接口。
  7. 当我们拿到这个接口之后,大部分的情况下通过这个接口就可以直接拿到数据,但是也有很多APP也会对接口做一些加密,主要也是在一个参数上做加密。

要做爬虫这个工作,对于前后端都需要懂。

对于前端,我们在爬取网站数据时已经知道了。

对于后端,逆向分析、APP脱壳、通信协议等也是需要掌握的。

当然,很多东西也不是一撮而就的,需要在不断的实战中提升自己通关的技能(对于反爬虫的人来说就是设关卡的技能)。

Wireshark和Fiddler简单介绍:

  1. Wireshark
    Wireshark的前身是Ethereal,2006年因为其创始人Gerald Combs的跳槽而改名为Wireshark。它是一个跨平台的软件,可以在unix系列、linux、mac os、windows等多个平台上面进行网络协议抓包工作。同时他也是一个开源软件,有兴趣的话可以下载源码深入了解。更多内容可以进官网查看 https://www.wireshark.org
  2. Fiddler
    Fiddler的定位是网页调试工具,能记录所有客户端和服务器的HTTP和HTTPS请求,允许你监视,设置断点,甚至修改输入输出数据。我们还可以为Fiddler安装自己所需的插件,从而更好的利用Fiddler的强大功能。更多内容可以进官网查看 https://www.telerik.com/fiddler
分享给小伙伴们:
本文标签: 爬虫APP

相关文章

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

CopyRight © 2015-2016 QingPingShan.com , All Rights Reserved.

清屏网 版权所有 豫ICP备15026204号