当前位置:   article > 正文

构建个人代理池:使用GitHub项目proxy_pool的搭建配置及代码接口详解_github代理

github代理

手把手教你搭建代理IP池:

项目简介:

爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库,定时验证入库的代理保证代理的可用性,提供API和CLI两种使用方式。同时你也可以扩展代理源以增加代理池IP的质量和数量。

GitHub地址:

jhao104/proxy_pool: Python ProxyPool for web spider (github.com)

部署安装流程:

​ 首先需要将git源码克隆到本地:

git clone git@github.com:jhao104/proxy_pool.git
  • 1

在这里插入图片描述

​ 重新创建一个python虚拟环境,防止包依赖冲突:

conda create -n env_name python=x.x
  • 1
conda create -n pc python=3.8
  • 1

在这里插入图片描述

查看当前所有环境:

conda env list 
  • 1

在这里插入图片描述

进入某个环境:

conda activate 环境名

  • 1
  • 2
conda activate pc
  • 1

在这里插入图片描述

安装相关包:

找到项目所在的requirements.txt 所在的目录:

我的在:‪D:\Git_local\proxy_pool\requirements.txt

在这里插入图片描述

然后在环境里面输入:

pip install D:\Git_local\proxy_pool\requirements.txt
  • 1

环境部署就成功了,很多GitHub的项目如果需要在本地运行都需要这样的操作,因为python的库之前存在依赖,必须是某个版本的才可以,不然就会冲突。

数据库配置:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开启redis数据库:

注意先开启服务端,在开启客户端

在这里插入图片描述

在这里插入图片描述

启动项目:

在这里插入图片描述

# 如果已经具备运行条件, 可用通过proxyPool.py启动。
# 程序分为: schedule 调度程序 和 server Api服务

# 启动调度程序
python proxyPool.py schedule

# 启动webApi服务
python proxyPool.py server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
python proxyPool.py schedule
  • 1

在这里插入图片描述

python proxyPool.py server
  • 1

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

成功!!!

代码接口:

import requests

def get_proxy():
    return requests.get("http://127.0.0.1:5010/get/").json()

def delete_proxy(proxy):
    requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))

# your spider code

def getHtml():
    # ....
    retry_count = 5
    proxy = get_proxy().get("proxy")
    while retry_count > 0:
        try:
            html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})
            # 使用代理访问
            return html
        except Exception:
            retry_count -= 1
    # 删除代理池中代理
    delete_proxy(proxy)
    return None
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号