ProxyPool
proxyPool
Install / Use
/learn @wsqy/ProxyPoolREADME
proxy是一套django开发的代理池项目
项目基于 dajngo1.8+ python3.x 在此环境下应该能无缝使用,其余版本没有测试但是应该没有问题,如有问题,欢迎想我提出 依赖
requests
BeautifulSoup4
你可以使用pip或者easy_install安装,也可以下载源代码然后使用python setup.py isntall安装。一切取决于你使用哪种方式更方便
使用方法
1. 作为独立的app嵌入到你原有的项目中
你可以下载proxypool文件夹,放到你的django 项目中,在这种情况下,你只需要在做两步
- 项目配置中的INSTALLED_APPS加入一行'proxyPool.apps.ProxypoolConfig',
- 在 urls.py中加入的urlpatterns中加入路由配置url(r'^proxyPool/', include('proxyPool.urls')),
接着做好数据库的同步就好了
2.作为完整的django项目:
你可以将proxyPool项目整个都copy回去,这里有些注意事项
- db.sqlite3是我的demo数据库,里面有一些示例数据,后台账户为 用户:qy 密码:1234abcd
- 你可以删除这个数据库文件重新生成
api说明
前提:假设你的host的127.0.0.1::8000
1. xxx/proxyPool/get_client_ip
这是获取客户的ip的,返回格式是json字符串形式的ip地址,暂时未使用,但是我的想法是让他做代理可用性验证的,因为考虑到使用者有很大可能性本地部署所以此api未使用
2. xxx/proxyPool/addxici
这是用来增加代理ip的,你应该定时访问他,时间间隔建议6小时一次 我这里写好了获取西祠国内匿名代理的demo,一般来说这就够用了,但是如果你需要可以按照我的实现方式增加别的获取方法
如果获取成功返回:json字符串形式的添加一页代理数据成功,
如果获取成功失败:获取西祠代理失败:"+错误原因
3. xxx/proxyPool/getproxy
get请求用来获取单个代理 他会随机的返回一个代理,但是你还是可以加上过滤条件abroad=x,x可选0:国内代理(默认),1:国外代理
返回值类型:Json串
获取代理的方法
必有的返回参数
code: 状态码
000 未开始
200 正常
304 需求的代理暂时无法满足
404 get请求abroad 参数类型错误
mes :说明信息
当请求成功,状态码为200时特有的参数
ip 代理ip
port 代理ip的port
protocol 代理的类型 HTTP还是HTTPS
address 代理ip的所在地
anonymous 是否是匿名的代理
abroad 是否是国外的代理
site 代理的来源站
4. xxx/proxyPool/get_dict_proxy
get请求用来获取多个代理 他会随机的返回指定个数的代理, 可选参数: - abroad=x,x可选0:国内代理(默认),1:国外代理 - count=x, x默认为1
返回值类型:Json串
必有的返回参数
code: 状态码
000 未开始
200 正常
201 爬取成功 数量不足要求
304 需求的代理暂时无法满足
404 get请求abroad 参数类型错误
mes: 说明信息
当请求成功,状态码为2xx时特有的参数
count 返回代理的个数
result 键result是一个包含所有代理信息的列表,列表中 的每个元素是一个字典,包含以下信息
ip 代理ip
port 代理ip的port
protocol 代理的类型 HTTP还是HTTPS
address 代理ip的所在地
anonymous 是否是匿名的代理
abroad 是否是国外的代理
site 代理的来源站
5. xxx/proxyPool/filter_proxy
验证代理ip可用性的接口,建议定时执行,建议时间间隔(30/60分钟一次) 返回结果:"%s个代理失效了"+在此次验证中失效的代理个数
Related Skills
node-connect
352.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
352.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
352.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
