开源项目地址:believedotchenyu/ProxyPoolWithUI
项目Demo:http://chenyu0x00.com:8888/
2021年3月8日测试,项目运行半小时后,支持访问HTTPS的代理有40+,支持访问HTTP的代理有100+。
目前项目还在并不完善,欢迎通过评论区或者Issues和我们讨论。
注:知乎上的文章更新较慢,查看项目的最新情况请直接访问Github主页。
目录
简易好用的免费代理池
兼容系统: Windows,Linux,macOS
定时自动爬取网络上的免费代理定时对代理进行验证,集成API随时返回可用代理不需要第三方数据库支持,一键启动,简单易用集成WEB管理界面,方便查看代理状态并对代理池进行配置拥有详细的注释,可以非常方便地学习或修改WEB管理界面截图
查看目前代理的状态查看爬取器状态,可禁用或启用爬取器已经集成的免费代理源
名称地址快代理https://www.kuaidaili.com/全网代理http://www.goubanjia.com/66代理http://www.66ip.cn/云代理http://www.ip3366.net/免费代理库https://ip.jiangxianli.com/小幻HTTP代理https://ip.ihuan.me/89免费代理https://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文件对代码进行修改。