- 爬虫实战:从数据到产品
- 贺思聪编著
- 667字
- 2020-08-28 00:39:54
1.2 数据获取渠道
数据获取的渠道多种多样,当一条路走不通时,可以试试其他渠道。常见的渠道有如下四类。
1.网站
很多非移动专享的应用都有自己的网站。网站可分为PC端和移动端两种,很多时候,它们对于反爬虫行为的防范并不一致。网站对应的调试工具很多,可以更加方便地进行破解。但很多网站都有许多防范措施,导致分析、抓取信息的成本较高。
2.手机APP
某些应用则只有手机APP版本,完全没有提供网站,典型的APP有“摩拜单车”“立刻出行”等。针对这些应用,我们可以使用抓包工具抓取APP的流量并对请求进行分析。mitmdump等工具可以拦截流量,再结合Appium模拟用户的单击行为,从而进行自动化的数据获取。
3.小程序
越来越多的应用都开发了微信小程序或支付宝小程序。小程序提供了快捷的访问路径,也为数据获取提供了新的途径。小程序多用JavaScript书写,因此可以方便地进行反编译。在技术上,由于小程序相对比较新,很多在方面设计欠佳,导致加密签名的方法可以被反编译出来,从而顺利获取 API 的访问方式。对此,小程序开发者可以考虑登录验证的方式,即对访问进行验证,从而阻止非预期的高频访问。
4.搜索引擎
搜索引擎上保存了大量的网站信息,如果不能从网站直接抓取,则可以考虑抓取搜索引擎的快照页面。快照页面中的信息有可能不是最新的,但可以在一定程度上帮助我们获取数据。例如,“天眼查”的新界面中已经隐藏了一些信息,但百度的快照中依然存在一些旧的信息(例如联系电话、邮箱等),通常这些信息不会轻易变更。当然搜索引擎也有一些防抓取的措施,以及页面访问数量等限制,我们可以通过缩小关键字范围,或使用搜索工具限制时间等措施减少页面的总量。