免费好用的IP代理池发布,集成WEB管理界面

562 阅读2分钟

开源项目地址:github.com/believedotc…

目前项目还在并不完善,欢迎通过评论区或者Issues和我们讨论。

注:掘金上的文章更新较慢,查看项目的最新情况请直接访问Github主页。

简易好用的免费代理池

兼容系统:Windows, Linux, macOS

  • 定时自动爬取网络上的免费代理
  • 定时对代理进行验证,集成API随时返回可用代理
  • 不需要第三方数据库支持,一键启动,简单易用
  • 集成WEB管理界面,方便查看代理状态并对代理池进行配置
  • 拥有详细的注释,可以非常方便地学习或修改

WEB管理界面截图

已经集成的免费代理源

名称地址
快代理www.kuaidaili.com/
全网代理www.goubanjia.com/
66代理www.66ip.cn/
云代理www.ip3366.net/
免费代理库ip.jiangxianli.com/
小幻HTTP代理ip.ihuan.me/
89免费代理www.89ip.cn/

后续会添加更多好用的代理源。

安装方法和使用方法请前往Github主页查看。

项目工作流程图

本项目主要包含三部分:

  1. 爬取进程:主要包括fetchers目录和proc/run_fetcher.py文件
  2. 验证进程:主要在proc/run_validator.py文件中
  3. WEB与API:在api目录下

本项目的大致逻辑图如下:

注:为了便于理解与画图,下图的逻辑是经过简化之后的逻辑,详细过程可查看代码以及相应的注释。

验证算法相关

  1. 如何验证代理可用

目前验证代理可用的算法较为简单,核心思想是使用requests库访问一个指定网页,查看是否访问成功。

相关配置参数(包括超时时间尝试次数等)可在config.py中找到,具体代码逻辑在proc/run_validator.py中。

  1. 什么时候该验证哪个代理

这个问题比较复杂,很难有一个完美的解决方案,因此目前的算法较为简单,勉强可用,可在db目录下找到对于目前算法的说明。

如果你有更好的算法,欢迎通过Issues和我们讨论,也可以根据db目录下的README文件对代码进行修改。