解决http爬虫被封为代理ip的七种方法!之前有个邻居家的孩子想上学。因为没考上重点,成绩也不算太低,他打算去一个好点的私立高中。家长不知道哪所学校的口碑和往年的成绩会更好。于是,他找我一个做数据的朋友分析数据,于是也学到了一些经验。
1.方法。
无论你想收藏什么样的网站,http代理ip都是必须的,但是需要注意的是一定要用国内的代理ip,可以直接从ip在线代理地址购买。但是一定要靠谱。这样做的优点是:
第一,程序逻辑变化小,只需要代理函数。
第二,可以根据对方网站不同的屏蔽规则购买不同的ip代理。
第三,假设你目前使用的代理ip被对方网站屏蔽,你可以在不改变程序逻辑的情况下更改IP。
2.方法。
少数网站防范措施薄弱。你可以伪装从代理IP服务提供商那里买的IP,修改X-Forwarded-for,可以绕过。
大部分网站,如果要经常抓取,通常需要更多的IP。我的首选方案是直接购买飞蚁动态转发的HTTP代理ip。
3.方法。
ADSL+脚本,监控是否被屏蔽,然后连续切换ip。
设置查询频率限制
正统的方式是调用这个网站提供的服务接口。
4.方法。
1用户代理伪装和轮换
2使用代理ip和轮换
3 cookies处理,有些网站对登录用户的政策比较宽松。
友情提示:考虑爬虫在别人网站的负担,做一个负责任的爬虫??
5.方法。
尽可能模拟用户行为:
1.用户代理经常改变;
2.设置较长的访问时间间隔,并将访问时间设置为随机数;
3.访问页面的顺序也可以是随机的。
6.方法。
网站关闭的依据一般是单位时间内特定IP的访问量。
我把收集的任务按照目标站点的IP分组,通过控制每个IP单位时间发送的任务数量来避免被阻塞。当然这个前提是你收集了很多网站。如果只收藏一个网站,只能靠多个外部IP来实现。
7.方法。
1.爬行动物爬行的压力控制;
2.考虑使用代理来访问目标站点。
总结:
-减少抓取动态ip地址的替换频率,设置时间更长,访问时间使用随机数。
-频繁切换用户代理(模拟浏览器访问)
-多页数据,随机访问然后抓取数据。
-不断更换代理IP