赞
踩
爬虫代理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
重新创建一个python虚拟环境,防止包依赖冲突:
conda create -n env_name python=x.x
conda create -n pc python=3.8
查看当前所有环境:
conda env list
进入某个环境:
conda activate 环境名
conda activate pc
安装相关包:
找到项目所在的requirements.txt 所在的目录:
我的在:D:\Git_local\proxy_pool\requirements.txt
然后在环境里面输入:
pip install D:\Git_local\proxy_pool\requirements.txt
环境部署就成功了,很多GitHub的项目如果需要在本地运行都需要这样的操作,因为python的库之前存在依赖,必须是某个版本的才可以,不然就会冲突。
注意先开启服务端,在开启客户端
# 如果已经具备运行条件, 可用通过proxyPool.py启动。
# 程序分为: schedule 调度程序 和 server Api服务
# 启动调度程序
python proxyPool.py schedule
# 启动webApi服务
python proxyPool.py server
python proxyPool.py schedule
python proxyPool.py server
成功!!!
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。