开源项目地址: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主页查看。
项目工作流程图
本项目主要包含三部分:
- 爬取进程:主要包括
fetchers目录和proc/run_fetcher.py文件 - 验证进程:主要在
proc/run_validator.py文件中 - WEB与API:在
api目录下
本项目的大致逻辑图如下:
注:为了便于理解与画图,下图的逻辑是经过简化之后的逻辑,详细过程可查看代码以及相应的注释。
验证算法相关
- 如何验证代理可用
目前验证代理可用的算法较为简单,核心思想是使用requests库访问一个指定网页,查看是否访问成功。
相关配置参数(包括超时时间,尝试次数等)可在config.py中找到,具体代码逻辑在proc/run_validator.py中。
- 什么时候该验证哪个代理
这个问题比较复杂,很难有一个完美的解决方案,因此目前的算法较为简单,勉强可用,可在db目录下找到对于目前算法的说明。
如果你有更好的算法,欢迎通过Issues和我们讨论,也可以根据db目录下的README文件对代码进行修改。