[图片] 最近在家里都快闲出 P 了(单纯看书是真的无聊...) 所以想了想以前给自己挖的坑——IP 代理池( 花了几天时间终于将原本写的 demo 重构了(以前的太...),并且针对现存的开源代理池使用上的痛点进行优化,保证了任意单元时间内的可用性。 这是项目地址:https://github.com/Hogan-T ..

高性能异步 IP 代理池

abc.jpg

最近在家里都快闲出 P 了(单纯看书是真的无聊...😑)

所以想了想以前给自己挖的坑——IP 代理池

花了几天时间终于将原本写的 demo 重构了(以前的太...😭),并且针对现存的开源代理池使用上的痛点进行优化,保证了任意单元时间内的可用性。

这是项目地址https://github.com/Hogan-TR/ProxyPool

欢迎有兴趣的大佬对当前版本进行测试或参与开发,觉得可以不妨给颗 star 呀ヾ(•ω•`)o

特点

运行

Docker 部署

  1. Docker 安装

  2. docker-compose 安装(建议采用 pip 安装方式)

  3. 下载当前仓库代码到本地

    git clone https://github.com/Hogan-TR/ProxyPool.git
  4. 修改 ./proxypool/config.py 中的配置

    REDIS_HOST = "127.0.0.1"   # 将 REDIS_HOST 的内容替换为当前机器的内网ip# 其他配置可按需修改
  5. 修改 docker-compose.yml 中的配置

    可修改 main 中 ports 的端口映射,从而更改 api 的本地调用接口,默认 5000 端

  6. 执行 docker-compose up 命令,启动代理池

基于本机环境部署(仅支持类 Unix 系统)

  1. 准备:Python3 + Redis 环境

  2. 下载当前仓库代码到本地

    git clone https://github.com/Hogan-TR/ProxyPool.git
  3. 创建虚拟环境,安装依赖

    cd ProxyPoolpython3 -m venv venvsource ./venv/bin/activatepip install -r requirements.txt
  4. 根据系统 Redis 配置修改 ./proxypool/config.py 中 Redis 相关参数 REDIS_HOSTREDIS_PORTREDIS_PASSWORD

  5. 执行 sudo python run.py 命令,启动代理池

注:代理池首次启动后需十分钟左右,进行数据的抓取、清洗,才可开始提供高质代理

功能实现图

TODO

  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    379 引用 • 546 回帖 • 572 关注
  • Redis

    Redis 是一个开源的使用 ANSI C 语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。从 2010 年 3 月 15 日起,Redis 的开发工作由 VMware 主持。从 2013 年 5 月开始,Redis 的开发由 Pivotal 赞助。

    170 引用 • 225 回帖 • 726 关注
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    76 引用 • 181 回帖
  • 代理
    45 引用 • 100 回帖
2 操作
Hogan-TR 在 2020-02-11 20:21:11 更新了该帖
Hogan-TR 在 2020-02-11 20:56:25 更新了该帖
回帖
请输入回帖内容...