社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

[技术]基于python实现的短效代理ip池程序

brooks的技术小屋 • 3 年前 • 548 次点击  

我们在写爬虫程序的时候,或者是抓取数据的时候,遇到一些发爬不是很厉害的网站,一般都是通过代理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技术

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/71995
 
548 次点击