换ip软件,代理ip软件,更改ip地址-智游代理
首页 IP软件套餐 HTTP代理套餐 API提取 使用帮助 新闻资讯 长效IP 注册 登录 实名验证

在线咨询

800819380 售前客服
在线客服,实时响应

客户经理:
13326404693

473197630 QQ群
473197630

微信客服

您的位置: 首页 > 新闻资讯 > 爬虫代理 > 正文

代理IP怎么解决爬虫被封的问题

发布时间:2018年10月15日 来源:智游代理 www.zhiyoudaili.com

在编写爬虫爬取数据的时候,尤其是爬取大量数据的时候,因为很多网站都有反爬虫措施,所以很容易被封IP,就不能继续爬了。这个时候该怎么办呢?我们可以使用动态代理ip来解决这个问题。


在同事的介绍下,买了智游代理的动态高质量代理IP,接下来就是使用代理IP来继续爬虫工作了。通过python官方文档得知,可用urllib库的request方法中的ProxyHandler方法,build_opener方法,install_opener方法来使用代理IP。


官方文档很官方,有点难以理解,下面是部分关键文档,一起来看下:


class urllib.request.ProxyHandler(proxies=None)

Cause requests to go through a proxy. If proxies is given, it must be a dictionary mapping protocol names to URLs of proxies.(通过代理方法请求,如果给定一个代理,它必须是一个字典映射,key为协议,value为URLs或者代理ip。)


urllib.request.build_opener([handler, ...])

Return an OpenerDirector instance, which chains the handlers in the order given.(build_opener方法返回一个链接着给定顺序的handler的OpenerDirector实例。)


urllib.request.install_opener(opener)

Install an OpenerDirector instance as the default global opener.(install_opener方法安装OpenerDirector实例作为默认的全局opener。)


是不是云里雾里的,如果这样理顺下,就会发现其实很简单:

1、将代理IP及其协议载入ProxyHandler赋给一个opener_support变量;

2、将opener_support载入build_opener方法,创建opener;

3、安装opener。


具体代码如下:

from urllib import request

def ProxySpider(url, proxy_ip, header):

opener_support = request.ProxyHandler({'http': proxy_ip}) 

opener = request.build_opener(opener_support) 

request.install_opener(opener) 

req = request.Request(url, headers=header)

rsp = request.urlopen(req).read()

return rsp


有了代理IP,又学会了使用代理IP来做爬虫,这下可以不用担心被目标网站限制了,爬虫工作效率直线上线,按时完成任务不在话下。

转载注明来自:智游代理IP http://www.zhiyoudaili.com/

相关文章内容简介

1 爬虫使用不同的IP代理为什么效果不一样

我们爬虫在选择IP代理的时候,会发现有特别多的不同的IP提供商,价格差异也很大,从几块钱一天不限量的到几千块钱一天的都有,而且都说自己IP质量很好,都是高匿IP,但是实际使用起来,却发现IP可用率、连通速度都大相径庭,IP代理质量相同怎么效果不同?有些用户反映,在使用IP代理的过程中有时候会遇到这样的情况,即使用同样质量的一批不同的IP代理加上相同的策略访问同一个网站,有的成功有的失败,这是为什么呢?当下很多IP代理池,如果没有特殊注明为独享IP池,都是共享IP池。免费IP代理是最大的共享IP池,面向整个网络用户共享,收费IP代理则是面向自家的付费用户(超低价的普通代理和开放代理等除外,它们本质上还是网上收集的免费IP代理)。既然是共享IP代理池,那么不可避免的就会有冲突发生,会有部分用户使用相同的部分IP访问相同的网站。所以,在使用IP代理访问网站的过程中,会发现有一小部分才刚开始使用,就被反爬策略识别了。那么有什么好的解决办法呢?一是选择购买IP池大的共享IP池,IP池越大,项目冲突的几率就越小;比如智游代理的独享IP池,避免一个IP同时多个... [阅读全文]

2 Python爬虫通过ip代理抓取网页

如果大家在采集网站信息的时候,特别频繁的来访问,非常容易被目标网站检测到从而进行屏蔽,解决这类情况的一种有效的方法就是使用代理IP,当我们连上网络上网的时候,电脑会被分配一个IP,提供给我们使用,如果我们频繁访问一个网站时,这个网站也会因为发现同一个ip地址访问多次而进行屏蔽的,这个时候更换IP地址访问是最好的解决方式,多个ip地址进行随机地轮流访问,减少被该网站检测到的概率。假如我们再使用多个不同的headers请求头,这样就会有多个ip+主机的组合,浏览时被发现的机率又更加降低了。关于代码中ip代理的使用,下面介绍一下:步骤:1、urllib2库中的ProxyHandler类,通过此类可以使用ip代理访问网页proxy_support=urllib2.ProxyHandler({}),其中参数是一个字典{‘类型':'代理ip:端口号'}2、定制、创建一个openeropener=urllib2.build_opener(proxy_support)3、(1)安装openerurlib2.install_opener(o... [阅读全文]

热门标签

推荐阅读

  1. 03

    2018-12

    通过爬虫代理IP快速增加博客访问量

    每个玩博客的人,都在想怎么才能增加博客的人气,提高自己文章的阅读量,但如何快速提高阅读量,其中一种方式就是通过爬虫代理IP去刷人气刷访问,一般不建议这种方法

  2. 17

    2020-02

    爬虫使用不同的IP代理为什么效果不一样

    我们爬虫在选择IP代理的时候,会发现有特别多的不同的IP提供商,价格差异也很大,从几块钱一天不限量的到几千块钱一天的都有,而且都说自己IP质量很好,都是高匿IP,但是实际使用起来,

  3. 15

    2018-11

    爬虫代理IP该怎么用

    写网络爬虫时,大家都知道,如果爬虫抓取速度过快或者抓的网站和数据多了,经常会遇到ip频繁访问被封的问题。那么如何解决这种问题呢?

  4. 05

    2019-08

    爬虫代理IP几种常见的解决办法

    众所周知,一个IP做不了爬虫工作,没有大量的IP支撑,爬虫工作者寸步难行。那么爬虫代理IP哪里来呢?这难不倒爬虫工程师们,他们有好几种解决方案,让我们一起来看看吧。一、爬取代理IP

  5. 31

    2018-12

    如何选择爬虫所需的代理IP

    在爬虫的过程中,我们经常会遇见很多网站采取了防爬取技术,或者说因为自己采集网站信息的强度和采集速度太大,给对方服务器带去了太多的压力。

  6. 13

    2019-11

    爬虫代理IP有多少个种类

    爬虫代理IP有多少个种类?众所周知,没有大量的IP支撑,爬虫工作者寸步难行。那么爬虫代理IP从何而来呢?以下是我们总结的一些代理IP的解决方案。