爬虫小偏方:绕开登陆和访问频率控制

举报
云享专家 发表于 2019/10/17 10:51:08 2019/10/17
【摘要】 分析完后,我就舒缓了很多,得出新的抓取思路,就是: 使用10个账号按一定频次通过APP不停的获取每个用户详细页分享到微信的URL,让另外一个程序模仿微信的user-agent不停的访问这些分享到微信的URL(要使用adsl拨号来解决单个IP访问频率控制问题)。 这样通过app加微信的方式解决了对账号的限制问题,实现了曲线救国。

其实在抓取数据时,如果有大量的离散账号和离散IP的话,抓取数据就问题不大了。但是相信大部分的爬虫选手们都没有这么多的资源,所以就会绞尽脑汁研究和各种尝试对方的访问控制策略,如果始终无法破局,这时就要跳出来想下其他办法,比如多使用一下对方的产品,包括APP,网站,微信等,抓包看看他们之间的URL有没有关联,访问控制策略是否一致等,有时你会找到新的突破口。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1

曾经我想要某职业社交APP里的一些用户详细页的信息用来做分析,但是面临如下问题:


- 该APP必须登陆才能访问所有页面。

- 你的账号如果没有关注对方,对方的详细介绍页面的很多信息就被隐藏了。

- APP的用户详细页面一个账号大概只能访问100次/天(有点记不清具体数字了)就不能访问了。


俺注册了10个该APP账号,模拟登录后一天只能抓1000千多个,还有好些数据不全(因为没有关注对方), 实在离俺想要的数据量相差较远。

总结上面的问题就是没有足够多的账号,就算账号足够多,每个账号和每个ip也有抓取限制。


于是就把该产品的APP,微信,网页里里外外都翻了一遍,能点的地方都去点一下看看。


有了新的发现:


- 该APP的用户详细页分享到微信后,通过微信打开可以直接访问,不需要登录,也不需要微信授权,用户详细页信息都是全的(解决了需要关注才能查看全面信息问题)。

- 通过APP获取分享到微信的url的接口访问频率控制放得很宽松。

- 虽然在微信上不用登录访问,没有账号限制了,但是还是有单个IP的访问频率控制。


分析完后,我就舒缓了很多,得出新的抓取思路,就是:


使用10个账号按一定频次通过APP不停的获取每个用户详细页分享到微信的URL,让另外一个程序模仿微信的user-agent不停的访问这些分享到微信的URL(要使用adsl拨号来解决单个IP访问频率控制问题)。

这样通过app加微信的方式解决了对账号的限制问题,实现了曲线救国。


后来我就发现好些抓取问题都有这种解决思路,跟我们在网络爬虫小偏方之一里讲的,有的网站为了SEO流量,而把referer来自百度的访问控制放宽了一样。

有的产品为了微信的流量(分享到微信里的页面可以直接打开,点击其他页面时再提示要注册登录),而对来自微信点击访问控制放宽了。


友情提示:抓取这些社交信息,对关键信息最好脱敏,不要买卖这类数据。


ps:

写了三篇跟爬虫挣钱和做流量相关的。

说点俗的--如何利用Python爬虫技术挣钱


利用爬虫挣钱系列2-细说数据整合


用爬虫分析演唱会门票销售数据-帮助大黄挣多多


这篇写得偏技术点,不知道反响咋样,给我点反馈,不晓得该写哪方面的了!!!



作者:王平

十年专注于python web 开发,网络爬虫。深入理解Python语言,对Python特性深度了解.


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。