动态网页抓取(使用爬虫采集网站时被封IP的几种解决方法方法)
优采云 发布时间: 2021-10-24 03:07动态网页抓取(使用爬虫采集网站时被封IP的几种解决方法方法)
本文文章主要介绍了几种解决爬虫使用时被封IP的方法的相关资料采集网站。有需要的朋友可以参考。
使用爬虫时被封IP的几种解决方案采集网站
方法1.
使用多个 IP 代理:
1.必须要有IP,比如ADSL。有条件的话,其实可以从机房申请额外的IP。
2. 在外网IP的机器上部署代理服务器。
3.你的程序,用轮换训练代替代理服务器访问网站你想要的采集。
益处:
1.程序逻辑变化不大,只需要agent功能。
2.根据对方的网站屏蔽规则,你只需要增加更多的代理。
3. 即使具体的IP被屏蔽了,你只要把代理服务器下线就可以了,程序逻辑不需要改动。
方法2.
网站的一小部分防范措施相对较弱,可以通过伪装IP和修改X-Forwarded-For来绕过。
大部分网站,如果你想频繁获取,通常你还需要更多的IP。
我比较喜欢的解决方案是在VPS中配置多个IP,通过默认网关切换切换到IP,比HTTP代理效率高很多,估计大多数情况下比ADSL切换效率更高。
方法3.
ADSL+脚本,监控是否被阻塞,然后不断切换ip设置查询频率限制
正统的做法是调用网站提供的服务接口。
方法4.
国内ADSL是王道。申请更多线路,分布在不同的电信区。最好能跨省市。自己写断线重拨组件,自己写动态IP跟踪服务,远程硬件复位(主要针对ADSL modem,防止它宕机),剩下的任务分配,数据恢复,都不是什么大问题。
方法5.
1 用户代理伪装和轮换
2 使用兔子代理ip和轮换
3 cookie 的处理,一些 网站 对登录用户有更宽松的政策
友情提示:考虑爬虫给别人带来的负担网站,做一个负责任的爬虫:)
方法6.
尽可能模拟用户行为:
1、UserAgent 变化频繁;
2、 设置更长的访问时间间隔,将访问时间设置为随机数;
3、 访问页面的顺序也可以是随机的。
方法7.
网站 关闭一般是根据单位时间内访问特定IP的次数。
我按照目标站点的IP对采集的任务进行分组
通过控制单位时间内每个IP发出的任务数量,避免被阻塞。
当然,这个前提是你采集很多网站。如果只是采集一个网站,那么只能通过多个外部IP来实现。
方法8.
履带爬行压力控制;考虑使用代理访问目标站点。
降低爬取频率,设置更长的时间,访问时间使用随机数
频繁切换UserAgent(模拟浏览器访问)
多页数据,随机访问然后抓取数据更改用户IP。