龙行博客

走路看风景,经历看人生,岁月留痕迹,人生留轨迹,17的历史,18的豪情,时间的匆忙,人生的风景,放开心胸往前走,成功再远行,放开理想往前走,梦想再行动。
现在位置:首页 > 编程语言 > Python > 推荐一个好用的ip代理池

推荐一个好用的ip代理池

龙行    Python    2019-9-10    130    0评论    本文已被百度收录点击查看详情

地址: https://github.com/Germey/ProxyPool

ProxyPool

此代理池在获取IP的时候使用了pop方法一次性使用,如果是想多次可用可以移步优化后的代理池:https://github.com/Python3WebSpider/ProxyPool,推荐使用。

安装

安装Python

至少Python3.5以上

安装Redis

安装好之后将Redis服务开启

配置代理池

cd proxypool

进入proxypool目录,修改settings.py文件

PASSWORD为Redis密码,如果为空,则设置为None

安装依赖

pip3 install -r requirements.txt

打开代理池和API

python3 run.py

获取代理

利用requests获取方法如下

import requests

PROXY_POOL_URL = 'http://localhost:5000/get'

def get_proxy():
    try:
        response = requests.get(PROXY_POOL_URL)
        if response.status_code == 200:
            return response.text
    except ConnectionError:
        return None

各模块功能

  • getter.py

    爬虫模块

    • class proxypool.getter.FreeProxyGetter

      爬虫类,用于抓取代理源网站的代理,用户可复写和补充抓取规则。

  • schedule.py

    调度器模块

    • class proxypool.schedule.ValidityTester

      异步检测类,可以对给定的代理的可用性进行异步检测。

    • class proxypool.schedule.PoolAdder

      代理添加器,用来触发爬虫模块,对代理池内的代理进行补充,代理池代理数达到阈值时停止工作。

    • class proxypool.schedule.Schedule

      代理池启动类,运行RUN函数时,会创建两个进程,负责对代理池内容的增加和更新。

  • db.py

    Redis数据库连接模块

    • class proxypool.db.RedisClient

      数据库操作类,维持与Redis的连接和对数据库的增删查该,

  • error.py

    异常模块

    • class proxypool.error.ResourceDepletionError

      资源枯竭异常,如果从所有抓取网站都抓不到可用的代理资源,

      则抛出此异常。

    • class proxypool.error.PoolEmptyError

      代理池空异常,如果代理池长时间为空,则抛出此异常。

  • api.py

    API模块,启动一个Web服务器,使用Flask实现,对外提供代理的获取功能。

  • utils.py

    工具箱

  • setting.py

    设置

项目参考

https://github.com/WiseDoge/ProxyPool


额,直接复制,方便简单实用

评论一下 分享本文 赞助站长

赞助站长X

扫码赞助站长
联系站长
龙行博客
  • 版权申明:此文如未标注转载均为本站原创,自由转载请表明出处《龙行博客》。
  • 本文网址:https://www.liaotaoo.cn/304.html
  • 上篇文章:Django数据迁移
  • 下篇文章:scrapy请求与响应
  • python3 scrapy
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论
快捷导航
联系博主
在线壁纸
给我留言
四四五五
音乐欣赏
返回顶部