注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册

首页 > 新闻资讯 > 代理IP池如何为你解决爬虫IP限制难题

代理IP池如何为你解决爬虫IP限制难题

来源:IP精灵代理 作者:admin 时间:2020-10-30 13:35:00

代理IP池如何为你解决爬虫IP限制难题?都说爬虫工作者最怕的不是写代码,而是怕爬虫被反爬虫封杀,万一一开始没有做好防护,一不小心就会被网站的反爬虫机制给KO掉,这样辛辛苦苦的爬虫项目就不得不中断了。所以,爬虫之前,我们需要做一个步骤,那就是要用代理IP去解决IP限制这个问题。

构建代理IP池 为你解决爬虫IP限制难题

接下来为大家讲解如何解决IP限制。

我们知道,在访问对方网站的时候,有时对方网站会通过我们的IP信息对我们进行识别,如果频繁访问的话很可能会把我们这个IP封掉。我们在使用爬虫自动的抓取大量信息的时候,通常都会由于访问过于频繁被禁掉IP,当然有些朋友会采用拨号的方式来切换本机电脑的IP,但始终是治标不治本。

此时我们可以通过代理IP池解决。使用某一个代理ip去访问一个网站,在该网站的服务器中看到的ip就是对应的代理IP,所以当我们本机的IP被禁之后,我们使用代理IP去访问该网站就可以访问,但是如果只有一个代理IP,那么很可能代理IP也被禁掉。

此时,我们可以使用多个代理ip组建成一个池子,每次访问都从该池子中随机选择一个ip出来进行访问,那么这样,对方服务器就很难通过IP限制的方式对我们进行屏蔽了。那么代理ip应该怎么找呢?我们可以直接通过下面代码中的对应地址去申请代理ip。

其次,在实践中我们研究发现,国外的代理ip有效的程度会更高,所以这次实验会使用国外的代理ip,那么我们怎么构建代理ip池呢?我们可以这样做:

首先,建立一个下载中间件(各用户代理池构建时所创建的中间件类似,名字同样自定义)。

然后在该中间件中编写如下程序:

from scrapy.contrib.downloadermiddleware.httpproxy import HttpProxyMiddleware

import urllib.request

IPPOOLS=urllib.request.urlopen("http://tpv.daxiangdaili.com/ip/?tid=559126871522487&num=1&foreign=only").read().decode("utf-8","ignore")

class Ippl(HttpProxyMiddleware):

def __init__(self,ip=''):

self.ip=ip

def process_request(self,request,spider):

print("当前使用的代理IP是:"+str(IPPOOLS))

request.meta["proxy"] = "http://" + str(IPPOOLS)

我们每次都从该接口中获取一个代理ip,然后通过

request.meta["proxy"] = "http://" + str(IPPOOLS)

将该代理ip添加到meta中,此时该代理ip生效。

然后,我们还需要在设置文件中开启该下载中间件,如下所示:

DOWNLOADER_MIDDLEWARES = {

'qna.downloader_middlerwares.Ippl': 121,

'scrapy.contrib.downloadermiddleware.httpproxy.HttpProxyMiddleware':123,

}

随后,我们可以运行对应爬虫,可以看到此时使用代理ip:107.170.26.74:8088对网站进行爬取。

现在代理服务商非常多,但同时质量也不一,千万不要贪图便宜找廉价的服务商,万一提供过来的代理IP是无效的,那就白搭了。


最新资讯

推荐阅读

  1. 01

    2019-11

    怎么知道用户有没有用代理ip?

    怎么知道用户有没有用代理ip?有时候用代理ip之后,被对方发现了,对方是怎么发现用户使用了代理ip呢?

  2. 08

    2019-05

    网站限制IP访问怎么办

    网站限制IP访问怎么办?有一部分的网站是因为要遏制数据爬取和非法的网络攻击行为,保障正常用户的访问速度和查询效果,所以被查询的网站的系统增加了网络安全设备,强化了安全防护极

  3. 04

    2020-11

    如何使用HTTP代理IP更方便

    如何使用HTTP代理IP更方便?如今HTTP代理IP的使用越来越广泛,在日常生活中,很多人因为工作需要使用代理IP上网,很多人因为其他原因使用代理IP上网,但还有一些人不知道怎么使用HTTP代理IP上

  4. 14

    2020-12

    代理IP好不好,需要考虑哪些方面

    代理IP好不好,需要考虑哪些方面?如何选择代理IP,一直是网络工作者所要面对的首要问题,代理IP池的好坏,会直接影响到工作效率和工作进度,今天我们来看看,代理IP好不好,需要考虑哪些

  5. 14

    2020-02

    正确分配与高效管理IP地址的方式

    正确分配与高效管理IP地址的方式!HCIE考试俱乐部 2019-10-15 IP地址是电脑网络互通的基础,在实际工作中,网络管理员、安全员的大量日常工作与IP地址有关。

  6. 31

    2019-05

    关于代理IP的三个重要概念

    爬虫采集过程中少不了代理IP软件的使用,在使用代理IP软件之前我们需要弄明白一些基本概念。代理(英语:Proxy)也称网络代理,是一种独特的互联网服务,准许1个终端设备(通常为手机客户端)