如何处理python爬虫ip被封

 我来答
极光代理动态IP
2020-08-31 · 千万IP库存,一键切换,无需配置,易操作
极光代理动态IP
极光代理动态IP是一款稳定高速的国内IP切换软件。 IP数量1000万+,全国线路,不限带宽,海量稳定IP秒连秒换 连接切换速度小于100ms每日切换不限次数,高质量流量出口。
向TA提问
展开全部
当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可以进行更换,保证工作的正常进行。
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
IPIDEA全球HTTP
2020-09-17 · 百度认证:江苏艾迪信息科技官方账号
IPIDEA全球HTTP
IPIDEA是国内领先的动态IP服务商,整合全球240+国家和地区真实住宅IP资源量9000万 我们提供7x24小时的全天候多语种咨询,真实住宅IP应用多种应用场景, 支持百万高并发
向TA提问
展开全部
爬虫的开工作者可以通过以下方式来解决这个问题:
1、放慢抓取速度,减小对于目标网站造成的压力。但是这样会减少单位时间类的抓取量。
2、第二种方法是通过设置ip代理等方法,突破反爬虫机制继续高频率抓取。但是这样需要大量稳定的ip转换器。下面介绍两种方式:普通的基于ADSL拨号的解决办法通常,在抓取过程中遇到禁止访问,可以重新进行ADSL拨号,获取新的IP,从而可以继续抓取。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
从空去听8
2017-10-31 · TA获得超过7439个赞
知道大有可为答主
回答量:6907
采纳率:93%
帮助的人:5507万
展开全部

简单来讲,你通过代码向服务器发送的请求与浏览器向服务器发送的请求不一样,所以你可以通过浏览器获取数据,但是无法通过代码。

首先建议你打开浏览器的开发者工具,推荐使用Chrome浏览器。选中Network一栏之后重新通过浏览器向服务器发送一次请求,然后,你就可以看到你刚才通过浏览器访问服务器资源的流程和数据流向。其中,数据流向包括:

  • 浏览器向服务器发送的请求头

  • 浏览器向服务器发送的请求体

  • (可能)服务器向浏览器发送的重定向地址及浏览器重新向新的地址发送请求

  • 服务器返回的响应头

  • 服务器返回的响应体


  • ---
    你面临的问题很可能是在模拟浏览器发送请求这一步(1、2)。检查代码,修复之。

    至于解决方案,既然你可以通过浏览器访问,说明你的IP并没有被服务器禁封,加上你提到用了requests库,我猜测你通过requests.Session()来获取了一个对象或者指定了headers中的Cookie字段来发送请求。这两种方法,服务器都会认为你的多次请求来自同一个客户端,自然访问过快之后,服务器会向此客户端弹验证码(服务器端通过Session确认某一个用户,客户端通过Cookie[中的某一条]告诉服务器自己是某Session对应的用户)。

  • 所以,你可以尝试切换一个新的requests.Session()对象来发送请求。更甚之,你可以通过代理IP,使用代理IP需要注意的是,最好选择高匿的IP,并在使用前校验有效性。通过requests使用代理:

  • import requests


  • proxies = {

  •  "http": "http://10.10.1.10:3128",

  •  "https": "http://10.10.1.10:1080",

  • }


  • requests.get("http://example.org", proxies=proxies)



  • 如上~~~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2019-08-14
展开全部
解决方法:
1、User-Agent伪装和轮换。
2、降低抓取频率,设置访问时间间隔。
3、使用芝麻爬虫代理。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式