阅读 22

Python爬虫自学系列(番外篇一):代理IP池

在这里插入图片描述

前言

你在爬虫的时候,是否会经常的担心IP被封掉呢?
或者说,在使用免费IP的时候,并不知道那个IP是不是已经被封了。

对于大批量的爬取数据的时候,我在第五篇做并发爬虫的时候就发现了,第一篇提供的那个免费代理很多都已经被封掉了。
那怎么办呢?

这时候不得有一个自己的代理池嘛。

除了去买,相信大多数小伙伴还是愿意用自己的吧,毕竟又不是天天爬,爬个几次,又不能当饭吃,花这钱干什么?


揭开神秘面纱

其实这个代理池的建立啊,也不是什么稀奇玩意儿了。从User-Agent模块中不断抽取随机IP,然后拿去访问网址,如果可以用的话,就留下来,如果不能用的话,就算了。

通俗地比喻一下,它就是一个池子,里面装了很多代理ip。它有如下的行为特征:

1.池子里的ip是有生命周期的,它们将被定期验证,其中失效的将被从池子里面剔除。
2.池子里的ip是有补充渠道的,会有新的代理ip不断被加入池子中。
3.池子中的代理ip是可以被随机取出的。
复制代码

这里有一个==站大爷==,还行,但是只有免费体验,有兴趣的小伙伴可以去看看。
我自己也没用过,因为每类产品只能免费体验一次,省着点用吧,万一哪天就需要优质IP了呢。

我有headers了,为什么还要用代理?

代理,那个proxy啊。

1.服务器会判断一个频繁的请求是不是来自于同一个User-Agent标识,或者判断User-Agent是不是以python开头。如果是,则会限制访问。
解决方案:随机切换User-Agent的值

2.服务器会判断一个频繁的请求是不是来自于同一个IP地址发出的,如果是,则会对IP进行限制访问。
解决方案:使用代理IP,随机切换IP地址,不使用真实的IP来发起请求。


如果你想有自己的免费代理池

对于这件事,我不吹也不黑,因为我自己应该是用不上了。

那我就找几篇写的比较良心的吧,毕竟网上这吹牛逼的太多了。
不过这种项目到GitHub上一找一大把(我自己也偷偷下载了一个)

怎么自己搭建免费代理IP池,代码,网站啥的都有,就是要翻墙去看看。

免费代理池的搭建,这个牛逼,拿了好多家的代理来做自己的代理池。

如何构建一个自己的代理ip池,这篇收藏的人不少,代码也干净利落有注释。

ProxyPool,前面没提到的一个新项目。


反正挑着用嘛,看你喜欢哪个啦。

在这里插入图片描述

文章分类
后端
文章标签