个人用代理池
本人在学习爬虫技术期间,遇到一些封ip的反爬机制,这种情况使用代理即可,参考了有关资料开了这个项目。主要是使用爬虫技术从网上爬取免费代理,然后再进行检测,检测完毕可用的存入mongodb,同时隔一段时间从mongodb中读取代理进行检测,剔除掉不能用的,如果可用的少于设定值就重新爬取。
- 本项目使用了pipenv,首先需要安装pipenv,详情参考 pipenv官网 的介绍安装;
- 使用代码
pipenv install安装项目所需的模块; - 使用代码
pipenv shell进入虚拟环境终端; - 同样的也可以直接查看Pipfile文件夹里
[packages]下所有模块逐个安装,然后不在虚拟环境下运行。
- example.py为用例,可以进行查看、参考;
- 首先请启动mongodb服务,相关请查阅mongodb有关资料(建议查看官方文档,如 Debian系统mongodb安装配置说明 ,当然,这里的安装、配置及使用过程中,确实有些坑,具体相信你能搞定);
- 然后直接
python main.py即可启动服务; - 之后访问你在config里设置的地址即可访问,返回数据是json格式;
127.0.0.1:8000是欢迎页面;127.0.0.1:8000/proxy是单条代理数据;127.0.0.1:8000/proxies返回配置文件中数据库最小数量(如果数据库中总量小于这个数,将返回所有数据);127.0.0.1:8000/proxy/3返回3条代理数据数据。
- 修复数据库链接的一些bug;
- 优化检测逻辑;
- 优化爬取逻辑,已经检测通过的代理不再进行检测,防止有重复的;





