学爬虫有段时间了,这周打算开发一个爬虫去爬取一个手机app上的涩图。
我想爬虫都是去爬取一个又一个url,这样是不是说只要我能拦截到手机发出的http请求,我就能把请求复制一份,自己发出去,能自己接收response
首先设置我的小米路由器,在 常用设置里,安全中心设置控制模式为白名单模式,(这龟儿子的模式让局域网内主机不能互通)
到后来截获请求的时候发现一个问题,这个app发出的请求居然找不到,
我换了bilibili试试,可以截获,但是这个app不按常理出牌,wireshark找不到他的请求,有没有哪个小伙伴知道怎么回事
Youmu
2
首先,写一个简单的爬虫是比较简单的。例如 scrapy 这个工具
就非常棒,可以短平快地造一个工具。
接下的问题会变得非常复杂:
- 网站有认证怎么办?
- 网站要注册怎么办?
- 网站限流怎么办?
- 网站反爬虫怎么解决?
- …
针对手机app
爬虫,首先要确定它的消息协议,然后就是常规操作了。如果没开放api
的
话,比较通用的方式是模拟浏览器请求,这也是大部分爬虫所要实现的。
手机app
如果是Android
的话,可以直接反编译看里面的调用逻辑。你说wireshark
看
不到它的请求,在路由器上肯定可以看到的。猜测可能的原因是wireshark
filter
expression 没匹配到,建议抓全量的包再过滤。
用selenium来写爬虫,就像在本地浏览器注入JS插件一样,这样就可以直接跳过无聊的后台攻防。
可以看看我的文章:https://manateelazycat.github.io/linux/2019/11/25/breaking-captcha.html
我一直认为自己写一个简单的浏览器,是对抗所有爬虫攻防最佳的手段,因为防御方会认为你就是在浏览器中正常操作。
1 个赞
wsug
5
爬虫没法爬手机APP吧,这个只能用自动化脚本工具在android模拟器或真机上装好APP,实际操作APP,取到数据,再通过自动化脚本把数据发到你的服务器上保存。
这个感觉已经脱离爬虫的定义了,属于自动化软件(或者说外挂)
你这个感觉不算爬虫,叫抓包。手机开代理,电脑开抓包工具,https需要装证书才能抓。
另:注意身体
wsug
9
我指的是自动化软件,具体为:手机(或模拟的)先要root,然后装一个可以远程执行自动化脚本的app,脚本自动打开指定app,通过找色点击或找图点击或找字点击,进入到app的指定页面,把页面截图保存到指定位置,然后在提取数据。
某些app会禁止截图,可以破解这个限制,但我不知道怎么破。
我了解的,很多game外挂都是这么操作的,这个 可以远程执行自动化脚本的app
,我用过的有 按键精灵,Xscript,其中按键精灵限制太多了,Xscrip是很不错,可惜的是现在彻底倒闭了,搜索都搜不出来了,我指的是一个 基于lua的手机脚本开发平台
,现在叫Xscript的编程语言有很多,都不是我最初认识的那个了