我们在写爬虫程序的时候,或者是抓取数据的时候,遇到一些发爬不是很厉害的网站,一般都是通过代理ip来实现绕过对方的反爬措施。

一般好的代理都是需要付费的,免费的代理速度慢,而且难找。市面上也有很多对应的代理池哈。这里先给大家分享一个免费的代理池:

https://github.com/jhao104/proxy_pool

本文要分享的是短时效的付费代理ip池的维护。

为什么要有这个玩意?

一般情况下,我们买一个付费的代理ip接口的时候,肯定是希望它能够物尽其用,我们往往会同时采集多个网站,使用多个不同的程序。如果每个程序都买一个代理ip接口的话,那样太贵了。不值得,而如果只用一个接口就能同时给多个站点采集那岂不是美哉。而且同一个代理ip,这个网站封了,另一个站点可能还是能用的。除非这个ip过期了。

因此就有了这个短时效代理ip池程序,这个程序提供了一般代理池都有的功能:

接口方面

  1. 获取所有可用代理的接口
  2. 顺序获取单个代理ip的接口
  3. 顺序获取多个代理ip的接口
  4. 随机获取单个代理ip的接口
  5. 随机获取多个代理ip的接口

代理ip维护方面

  1. 定时通过付费代理ip接口获取代理ip放入本地的代理ip池
  2. 定时校验代理池中的ip是否还可用

程序配置

程序配置很简单,大家收到后会看到一个 proxy.ini 文件,根据里面的规则进行配置即可。

配置项就这些,一目了然。配置完成后即可运行脚本文件 proxypool.py 开启维护之旅。

程序运行

本次脚本是基于python3.8开发的,大家要运行的话最好也是python3.8版本,至少是python3.7以上版本,不支持python3.6及以下版本。

需要安装的依赖包:

aiohttp
flask

#
安装方法
pip install aiohttp flask -i https://pypi.doubanio.com/simple
  1. 运行方法

  2. 首页地址

3.获取所有代理ip接口

  1. 顺序获取单个代理ip
  1. 顺序获取10个代理ip
  1. 随机获取5个代理ip

可以看到,跟普通的代理ip池的功能都差不多的呢。不过这个是驻留在内存里面的,没有放入数据库。因为时效短,一般都是1-5分钟,存数据库没啥意义。想要存放在数据库的话那么可以自己改写一下。

如何获取

关注后,后台回复关键词: ip代理池

注:本程序是免费的,请勿用于商业贩卖。版权归brooks所有。


关注我,学习更多的seo技术