链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

jhao104/proxy_pool:Python代理池用于网络爬虫

jhao104/proxy_pool是一个专门为网络爬虫打造的Python代理池项目。它具备定时采集免费代理并验证入库、定时验证代理可用性等功能,提供API和CLI两种使用途径。用户可以轻松地通过多种方式运行项目,包括git clone、下载releases等,还能进行配置的更新...

访问官网 →

【Github】项目名:jhao104/proxy_pool – Python代理池用于网络爬虫

一、项目简介

jhao104/proxy_pool是一个用于网络爬虫的Python代理池项目。它主要功能为定时采集网上发布的免费代理并验证入库,定时验证入库代理的可用性,提供API和CLI两种使用方式,还能扩展代理源以增加代理池IP的质量和数量。

二、项目操作

1. 运行项目

下载代码可以使用git clone(git clone [email protected]:jhao104/proxy_pool.git)或者从releases(https://github.com/jhao104/proxy_pool/releases)下载对应zip文件。安装依赖用pip install -r requirements.txt。更新配置需在setting.py文件中进行,如配置API服务(HOST和PORT)、数据库(DB_CONN)、ProxyFetcher等。项目启动分为调度程序(python proxyPool.py schedule)和webApi服务(python proxyPool.py server)。也可使用Docker Image(docker pull jhao104/proxy_pool,docker run相关命令)或者在docker – compose项目目录下运行(docker – compose up – d)。

2. 使用Api

启动web服务后,默认配置下会开启http://127.0.0.1:5010的api接口服务,包含多种api方法,如 /get用于随机获取一个代理(可过滤支持https的代理),/pop获取并删除一个代理(可过滤支持https的代理),/all获取所有代理(可过滤支持https的代理),/count查看代理数量,/delete删除代理等。在爬虫中使用时,可以将api封装成函数,如示例中的get_proxy和delete_proxy函数。

3. 扩展代理

项目默认有几个免费代理获取源,但免费代理质量有限。若要添加新的代理源,首先要在ProxyFetcher类中添加自定义获取代理的静态方法(以生成器形式返回host:ip格式的代理),然后在setting.py文件中的PROXY_FETCHER项添加自定义方法的名字。

三、项目总结

这个jhao104/proxy_pool项目为网络爬虫中的代理使用提供了较为完善的解决方案。无论是项目的运行、API的使用还是代理源的扩展都有明确的操作方式。欢迎大家在评论区留言讨论这个项目,分享使用经验或者提出改进的建议等。

项目地址

GitHub链接直达