让你的爬虫无障碍抓取上千万需登录的APP数据

优采云 发布时间: 2022-05-09 18:42

  让你的爬虫无障碍抓取上千万需登录的APP数据

  爬虫论抓取难度,一是抓取对内容有加密的,难度很大,尤其是在app端的内容加密。有的可能需要逆向app。二是抓取必须要登陆后才能看的内容,再加上对登陆账号做IP访问次数控制的。这可能会难道一大片爬虫选手。

  本文不讨论app逆向问题,这种问题似乎也不宜公开说,《*敏*感*词*》第286条中阐述了反编译软件属于破坏计算机信息系统罪。

  

  如果是被举证了,风险挺大的,尤其是竞品之间的抓取行为或者太高调的。我在猿人学Python这两篇文章中有写到爬虫抓数据的法律风险。《》、《》

  本文讨论第二种,内容没加密,但要登陆才能看的app如何抓取。

  写爬虫没有学校教授,所以没有统一的武功套路,基本是八仙过海,各显神通。厉害的数据公司各种武功套路的人才齐备,账号,IP,机器等渠道资源充足。一般的公司资源和人才不够,又想*敏*感*词*数据抓取,用取巧的方式是一种可行的办法。

  本文说的取巧抓取方式,就是正确的设计抓取策略,通过制定正确的抓取策略来高效抓取需要登录的APP。

  制定正确的抓取策略,包括使用和熟悉被抓对象的产品形态(PC,H5,APP)和功能;测试被抓对象账号登录后对不同频道的访问频率控制边界(比如有的只对产品详细页做频率控制,对频道页,分类页的控制较弱)。分析被抓对象分享到微信等渠道后,从微信打开页面是否需要授权,需登录等情况。

  这是一套通用的抓取策略分析手法,我运用这种策略对多数APP都能做到抓取上千万条数据。

  理论说的比较晕,我们拿脉脉APP来举例,如何来分析和制定抓取策略。

  我们的目标是想要抓取脉脉上的个人职业信息(这类数据不要直接商用,简历也算是个人隐私数据)。

  按照三面的分析步骤,首先分析脉脉的产品形态。初步分析,脉脉的PC网站需要登录,没有专门的H5网站,APP也需要登陆才能查看。初步分析,没有可以下手的地方。

  第二步分析对各版块的频率控制情况。这要自己花点时间去点击观察。测试结果是对个人的详细页频率控制强,还有对搜索功能控制强。对分类等频道页控制很弱。大约一个账号快速访问200多次详细页,就会有提示了。

  这就意味着如果一天想抓10万张脉脉详细页,需要注册10万/200=500个账号。如果是一天抓100万张页面就要5000个账号。这样算下来其实公司出钱买几百个账号,也要不到几个钱,但是好些公司不愿意出这个钱。

  所以通过批量注册账号的方式,就打住了。另外上面说的这种用大量账号抓取的方式,我简化了IP问题,一个账号频繁变换IP也是有问题的,尤其是IP归属地一会是江苏,一会是江西就更有问题了。

  上面第一二步都分析了,似乎没有找到什么好方法,接着分析第三步,观察详细页的分享功能。我把详细页分享到微信后,在微信里试着打开看看,发现可以不登陆就能访问详细页。

  

  这下似乎找到了抓取突破口,赶紧抓包具体观看一下。

  通过抓包分享到微信这个过程的数据可以分析出:

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线