您的位置:新闻资讯 >文章内容
爬虫IP被禁怎么办?你需要了解代理ip
来源:本站 作者:admin 时间:2019-06-06 16:38:45

爬虫以前听上去好厉害好神秘的样子,用好了可以成就像Google、百度这样的索索引擎,用不好可以凭借不恰当的高并发分分钟崩掉一个小型网站。写到这里想到12306每年扛住的并发请求量,觉得好牛逼。


 爬虫IP被禁怎么办?你需要了解代理ip


爬虫和反爬虫从一直以来都是一个道高一尺魔高一丈的架势。反爬虫技术增加了爬取的难度,各路crawler的爬取过程可以说是一个和各种网站站长斗智斗勇的过程,各种解决方式可谓层出不穷,但是这里说是“简单”解决方案,肯定就是立足于一些比较基础的方法,分分钟就可以上手。

 

user_agent 伪装和轮换

 

不同浏览器的不同版本都有不同的user_agent,是浏览器类型的详细信息,也是浏览器提交Http请求的重要头部信息。我们可以在每次请求的时候提供不同的user_agent,绕过网站检测客户端的反爬虫机制。比如说,可以把很多的user_agent放在一个列表中,每次随机选一个用于提交访问请求。

 

使用代理IP和轮换

 

检查ip的访问情况是网站的反爬机制最喜欢也最喜欢用的方式。这种时候就可以更换不同的ip地址来爬取内容。当然,你有很多有公网ip地址的主机或者vps是更好的选择,如果没有的话就可以考虑使用代理,让代理服务器去帮你获得网页内容,然后再转发回你的电脑。代理按透明度可以分为透明代理、匿名代理和高度匿名代理:

 

透明代理:目标网站知道你使用了代理并且知道你的源IP地址,这种代理显然不符合我们这里使用代理的初衷。

匿名代理:匿名程度比较低,也就是网站知道你使用了代理,但是并不知道你的源IP地址。

高匿代理:这是最保险的方式,目标网站既不知道你使用的代理更不知道你的源IP 。

代理的获取方式可以去购买,当然也可以去自己爬取免费的,但是免费的代理通常不够稳定。

 

设置访问时间间隔

 

很多网站的反爬虫机制都设置了访问间隔时间,一个IP如果短时间内超过了指定的次数就会进入“冷却CD”,所以除了轮换IP和user_agent可以设置访问的时间间间隔长一点,比如没抓取一个页面休眠一个随机时间:

import time,random

time.sleep(random.random()*3)

对于一个crawler来说,这是一个比较responsible的做法。

因为本来爬虫就可能会给对方网站造成访问的负载压力,所以这种防范既可以从一定程度上防止被封,还可以降低对方的访问压力。


相关文章内容简介
在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961