摘要:在爬虫的编写过程中使用最多的是,它表示查看请求和响应的数据内容。后续在打开刚才加载的软件,例如本次案例打开的是皮皮虾,开启,成功捕获到如下请求,这个地方就是最终的接口了。复制接口地址,在本地浏览器打开,得到皮皮虾的视频评论数据。
本篇博客开始,我们将涉足手机 APP 采集领域,这部分的知识我们主要以分析核心接口,编写针对接口的突破代码为主。
这里希望通过前面 57 篇爬虫系列博客的学习,你已经可以通过不同的“手段”,去采集数据。
手机 APP 的采集与网页爬虫的采集一个最大的差异,就是需要抓取 APP 接口地址,因为我们没有谷歌浏览器开发者工具的支持,所以需要使用 Fiddler 工具,进行抓包。
对于任何一款软件,能让其正常运行起来,就完成了 90%的工作。
fiddler 是一款收费软件,官网:https://www.telerik.com/fiddler,有能力的建议购买,不想支付的可以选择其它路径,官方版本具备 30 天的试用期,我们就采用这个版本进行学习吧。
下载的时候,选择 Classic
版本即可,下载地址。
安装过程就比较简单了,基本遵循下一步原则即可,安装完毕会出现如下网页,注意这里先不要关闭,后续我们会用到里面的几个配置文档。
运行界面,呈现如下效果,一般不建议汉化了,因为没有多少复杂操作,多用用就习惯了。
这里有个细节需要注意,当你打开 Fiddler 的时候,它就已经把 HTTP 的代理给修改了,所以会碰到当打开 Fiddler 时,可能无法正常的访问网站,或者访问的速度变慢。
Fiddler 默认是直接抓包的
如果不想要抓包,可以在 File->Capture Traffic
和左下角按钮进行设置,快捷键是 F12。
默认能抓取的是 HTTP
请求的站点,稍后会说明 HTTPS
如何配置。
开启抓包请求之后,去访问网络,会得到如下页面,其中相关字段已经标注在下图中。
上述图片中的内容,一定要留下印象,方便后续的学习。
接下来双击上图任意一个请求,查看右侧窗口内容,下图为你标记一下右边窗口的内容都是什么。
在爬虫的编写过程中使用最多的是 Inspectors
,它表示查看请求和响应的数据内容。
其余功能简单描述如下:
Statistics
: 查看关于 HTTP 请求的性能以及数据分析;AutoResponder
:允许拦截指定规则的请求,可以基于字符串和正则表达式做拦截,大意是将指定请求劫持后,使用本地版本;Composer
: 自定义请求发送服务器,可以新建,也可以直接拖拽一个过去;Filters
:请求过滤规则;Timeline
: 请求响应时间。这些内容在后续都会逐步使用到。
下面完成最重要的一步,配置 fiddler,使其可以抓取 HTTPS 请求。
选择开始菜单中的 Tool
->Options
-> HTTPS
,然后点击下图 Decrypt HTTPS Traffic
,就可以安装一个证书。
如果本步骤设置完毕了,还是不能获取 HTTPS
请求,可以参考下述 2 篇博客解决相应问题。
- https://www.cnblogs.com/wsy0202/p/12404715.html- https://blog.csdn.net/baidu_28647571/article/details/107554126
这个步骤需要电脑可以打开 Wifi,并实现共享网络,如果你使用的是台式机,它可能没有无线网卡,是不能共享网络的(安装外置网卡即可),笔记本电脑无该问题。
然后手机链接共享出去的 Wifi,接下来在 fiddler
中配置如下内容。
确定之后,需要在 fiddler
中找到下图所示的本地 IP,例如下图所示的 IP 地址为 172.24.203.1
,这个地址很重要,结合上述的端口 8888
,一会需要访问该地址去下载一个证书到手机端。
手机链接该 Wifi,并设置如下代理。
此时还不可以,还需要在手机端下载证书,通过手机端默认浏览器打开 http://172.24.203.1:8888
(确保 fiddler
是抓包状态),如果手机端无法打开,重启 fiddler
。
打开之后,如下图所示,点击下图红线位置进行证书下载。
浏览器下载的证书如果点击无法安装,去手机设置里面找到下图内容,每个手机的路径不太一致,基本参考路线是 设置->通用设置->安全和隐私->更多->加密和凭据,然后点击下面的从 SD 卡安装,应该在根目录下可以找到刚才下载的证书,点击安装即可。
安装证书时,需要设置的内容,如下所示。
此时已经完整大部分工作了,如果你的 安卓系统是 7.0 以下,那到此就可以结束了,但如果你的版本比 7.0 高,那还需要继续设置一些配置。
如果不确定是否可以,可以随机打开手机上的 APP,然后再 fiddler
中查看是否可以解开 HTTPS
请求。
环境构建过程中,可以不时重启 fiddler 确保配置生效。
使用 VirtualXposed+JustTrustMe 来绕过 SSL 验证,实现抓包需求
在 github 下载上述两款工具。
VirtualXposed
:https://github.com/android-hacker/VirtualXposed/JustTrustMe
:https://github.com/Fuzion24/JustTrustMe/无法下载,可以直接在我提供的 地址下载,安装的时候发现 VirtualXposed
最新版本不支持 32 位 APP 了,如果需要抓取 32 位的 APP,需要安装 VirtualXposed_0.18.2.apk
包 。
文件传输到手机上之后,全部进行安装,然后打开 VirtualXposed
,点击下面的按钮之后选择添加应用,模块管理开启 JustTrustMe
,之后选择重启即可。
后续在 VirtualXposed
打开刚才加载的软件,例如本次案例打开的是 “皮皮虾 APP”,开启 fiddler
,成功捕获到如下请求,这个地方就是最终的接口了。
复制接口地址,在本地浏览器打开,得到皮皮虾的视频评论数据。
https://is-hl.snssdk.com/bds/cell/cell_comment/?offset=10&cell_type=1&api_version=1&cell_id=7023269838151751943……其余部分隐藏
拿到接口之后,剩余的逻辑处理部分就比较简单了,步骤依次如下:
精简参数之后得到如下接口格式:
https://is-hl.snssdk.com/bds/cell/cell_comment/?offset=10&cell_id=7023269838151751943&aid=1319&app_name=super
APP 爬虫最难的地方是获取接口,获取到接口并分析之后,如果没有加密参数,那直接采用之前博客中提及的任意一个库或者框架,都可以完成爬虫代码的编写。
从本篇博客开始,我们将正式进入手机APP爬虫部分,这部分内容大概会编写10篇左右的博客
今天是持续写作的第 262 / 200 天。
可以关注我,点赞我、评论我、收藏我啦。
更多精彩
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/123516.html
摘要:文章目录前言爬取分析视频教学成果展示福利入门到就业学习路线规划小白快速入门爬虫路线前言皮皮虾一个沙雕而又有趣的憨憨少年,和大多数小伙伴们一样喜欢听歌游戏,当然除此之外还有写作的兴趣,,日子还很长,让我们一起加油努力叭话 ...
摘要:文章目录毛遂自荐题目题外话正经点,解题思路代码实现最后皮皮虾一个沙雕而又有趣的憨憨少年,和大多数小伙伴们一样喜欢听歌游戏,当然除此之外还有写作的兴趣,,日子还很长,让我们一起加油努力叭话不多说,直达底部有粉丝专享福利毛 ...
摘要:点击,即可进入证书的安装页面。上一篇文章网络爬虫实战库的安装下一篇文章网络爬虫实战爬取相关库的安装的安装 上一篇文章:Python3网络爬虫实战---6、Web库的安装:Flask、Tornado下一篇文章:Python3网络爬虫实战---8、APP爬取相关库的安装:MitmProxy的安装 除了 Web 网页,爬虫也可以对 APP 的数据进行抓取,APP 中的页面要加载出来,首先需...
摘要:时间永远都过得那么快,一晃从年注册,到现在已经过去了年那些被我藏在收藏夹吃灰的文章,已经太多了,是时候把他们整理一下了。那是因为收藏夹太乱,橡皮擦给设置私密了,不收拾不好看呀。 ...
摘要:今天就先给大家讲大数据分析工程师。所以你要和我说你在外面培训了个月的大数据分析后,就想做了,那请你再考虑考虑。而他们鼓吹的大数据分析师,其实就是。 showImg(https://segmentfault.com/img/remote/1460000018722710?w=1000&h=750); Overview: 序 基本概念 DS的职能要求 DE的职能要求 总结 一、序 今天...
阅读 2718·2021-11-16 11:45
阅读 1583·2021-09-26 10:19
阅读 1992·2021-09-13 10:28
阅读 2764·2021-09-08 10:46
阅读 1506·2021-09-07 10:13
阅读 1490·2019-08-30 13:50
阅读 1358·2019-08-30 11:17
阅读 1414·2019-08-29 13:18