基于Tornado和Scrapy的开源高性能代理池

基于Tornado和Scrapy的开源高性能代理池

图片瞎放一个先(doge

前段时间在写爬虫,研究了一下Github排名靠前的免费代理池,都不太喜欢,就自己写了一个,结合了异步框架Tornado和Scrapy,目前支持的特性有:

  • 设定数目,持续从网上爬取新的免费代理,检测可用后存入本地数据库
  • 完全异步,支持高并发(从免费的前提下去衡量……)
  • 通过调用HTTP API来获取代理,后面有时间会增加前端控制页面
  • 周期性自检,更新可用代理

项目地址在这里:
https://github.com/Karmenzind/fp-server

关于代理可用性

爬虫爬取代理时会先检测可用性(包括速度和匿名性),检测完毕后才会入库,不可用的直接抛弃,所以可以安心使用。

关于可存储代理数目

我暂时没有做限制,写这个文章的时候,我本地有10000个活动(可用的)代理。我没有继续爬,因为目前代理来源只有三个,潜力有限。假如有人用的话,后面我会持续增加代理来源。

环境要求

项目是在Archlinux上开发的,已经测试通过的环境如下:

  • Archlinux; Python-3.6.5
  • Debian(wsl); Python-3.5.3

代码暂时不支持直接在Windows上运行,我已經打包好了Docker镜像,Windows用户可以使用Docker部署

推荐Unix/Linux用户也使用Docker部署,这样是最简单的。

更详细的介绍和使用方法见项目README