如何处理python爬虫ip被封

如何处理python爬虫ip被封,第1张

1、放慢爬取速度,减小对于目标网站造成的压力。但是这样会减少单位时间类的爬取量。

第二种方法是通过设置IP等手段,突破反爬虫机制继续高频率爬取。网站的反爬机制会检查来访的IP地址,为了防止IP被封,这时就可以使用HTTP,来切换不同的IP爬取内容。使用代理IP简单的来讲就是让代理服务器去帮我们得到网页内容,然后再转发回我们的电脑。要选择高匿的ip,IPIDEA提供高匿稳定的IP同时更注重用户隐私的保护,保障用户的信息安全。

2、这样目标网站既不知道我们使用代理,更不会知道我们真实的IP地址。

3、建立IP池,池子尽可能的大,且不同IP均匀轮换。

如果你需要大量爬去数据,建议你使用HTTP代理IP,在IP被封掉之前或者封掉之后迅速换掉该IP,这里有个使用的技巧是循环使用,在一个IP没有被封之前,就换掉,过一会再换回来。这样就可以使用相对较少的IP进行大量访问。以上就是关于爬虫IP地址受限问题的相关介绍。

你是不是下载了要登录后才能看到的图片?可以试着加一下cookie

import cookielib

cj = cookielib.MozillaCookieJar()

opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

urllib2.install_opener(opener)

然后再添加user agent一起用试试看

      有些网站为了防止spider对客户信息的抓取或者抓取一些信息被他人所利用,对访问网站进行了一定的限制,但这些网页可以通过浏览器正常访问,因此,我们通过把spider伪装成浏览器对网页进行抓取,这些步骤通过在urlopen(url,headers)中添加headers来完成。

1.通过spider打开一个csdn博主的主页,会发现状态码返回403,这就说明这个博客网页加了限制。

    我们先通过Google的chrome浏览器打开这个csdn博客(http://blog.csdn.net/jizhen_tan/article/details/51661203),再通过F12打开抓包工具,找到network这一选项栏再刷新网页,就会发现这些东西:

     我们点开第一个Name51661203,会在headers中发现有三个元素:General、Response Headers、Requset Headers。我们要做的是模仿Requset Headers中的写法来把spider伪装成浏览器对网页进行访问。

2.这次用到的库为urllib2,它是urllib的扩展。

在headers中主要添加四个元素:User-Agent、Host、GET,这些都可以在Requset Headers中找到。headers是一个字典型。

3.一些网站会对User-Agent进行检测,如果一个时间段内过多的访问就会遭到封IP,因此我们可以通过随机变换User-Agent来进行访问:

通过一个循环来实现:


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/7918691.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-11
下一篇2023-04-11

发表评论

登录后才能评论

评论列表(0条)

    保存