python 爬虫ip被封锁怎么办

Python015

python 爬虫ip被封锁怎么办,第1张

1. 检查cookies

当出现无法保持登陆状态或者直接无法登陆站点的情况时,可以先去对cookies进行检查,这种情况有可能是cookies出现问题所导致的。

2. 检查JavaScript

当站点页面缺少信息或出现空白时,可以去检查网站创建页面的JavaScript。

3. 更换IP地址

如果出现403forbidden或者页面无法打开的问题,那么就很有可能是IP已经被站点服务器所封禁,遇到这种情况就需要更换自己的IP地址,目前来说最为方便的就是使用代理IP,例如IPIDEA,可以随时更换新的IP地址来确保爬虫的工作效率。

当python爬虫IP被封可用以下这几种方法:

1、放慢爬取速度,减少对于目标网站带来的压力,但会减少单位时间类的爬取量。

2、伪造cookies,若从浏览器中能够 正常访问一个页面,则可以将浏览器中的cookies复制过来使用

3、伪造User-Agent,在请求头中把User-Agent设置成浏览器中的User-Agent,来伪造浏览器访问。

4、使用代理IP,使用代理IP之后能够 让网络爬虫伪装自己的真实IP。

对于python网络爬虫来说,有时候业务量繁重,分布式爬虫是最佳的增强效率方式,而分布式爬虫又急切需要数目众多的IP资源,这一点免费IP是满足不了的,并且免费代理一般不提供高匿名的代理IP,因此不建议大家使用免费的代理IP。为了节约前期成本费而使用免费ip代理,最终只会因为免费ip的劣质而导致苦不堪言,反倒得不偿失。使用代理商代理IP可以有效的保障网络的安全,在IP被封的情况下可以有充足的IP可以进行更换,保证工作的正常进行。

从程序本身是无法解决的。

有两个办法:

(1)自己装几个虚拟机,分别不同IP在上面跑爬虫的时候频率别太高了,加个过程里加个 time.sleep(1)或(2),通常情况只要频率不是太高是无法区别是正常阅读还是爬东西的。 (2)找proxy用代理,respose发现异常就换IP