Proxy_Pool自动化代理搜集+评估+存储+展示工具

栏目: 数据库 · 发布时间: 5年前

内容简介:Proxy_Pool代理资源池,一个小巧的代理ip抓取+评估+存储+展示的一体化的工具,可自动化的搜集检测可用代理并进行评分,并添加了Web展示和接口。安装1、从GitHub上拖下来

Proxy_Pool代理资源池,一个小巧的代理ip抓取+评估+存储+展示的一体化的工具,可自动化的搜集检测可用代理并进行评分,并添加了Web展示和接口。

安装

1、从GitHub上拖下来

git clone https://github.com/TideSec/Proxy_Pool

2、在 mysql 中新建数据库proxy,将proxy.sql文件导入,在include/config.inc.php中修改数据库密码。

3、此时本机访问 http://ip:port ,应该可以看到代理web展示界面

4、安装 python 2依赖库

pip install lxml
pip install requests
pip install pymysql

5、在py_proxy_task/config.py文件中配置数据库连接信息及其他参数。

使用

在py_proxy_task目录下有 proxy_get.pyproxy_check.py 两个程序,前者负责每天抓ip存进数据库,后者负责数据库中ip的清理和评估。

python proxy_get.py
# 等待上述程序抓取完结果后再运行评测程序
python proxy_check.py

之后按默认配置,这两个程序每天分别执行抓取和评估工作,放服务器上长期运行即可。

简介

原代码在这里: https://github.com/chungminglu/Proxy

我对部分代码进行了修改,完善了部分提取代理的解析代码,并加入了web展示和web接口,方便其他程序调用。

web页面我是从我的另外一个扫描器上改过来的: https://github.com/TideSec/WDScanner/ ,里面可能有部分无用代码没有删除。

程序的几个功能:

1、每天从多个代理ip网站上抓下最新高匿ip数据。
2、经过筛选后的ip将存入数据库。
3、存入数据库的ip每天也要经过测试,存在剔除、评分机制,多次不合格的ip将被删除,每个ip都被评分,我们最终可以按得分排名获得稳定、低响应时间的优质ip。

web展示如下图所示:

Proxy_Pool自动化代理搜集+评估+存储+展示工具

web接口如下图所示:

Proxy_Pool自动化代理搜集+评估+存储+展示工具

参数设置

1、在py_proxy_task/config.py文件可进行代理评估参数的设置。

USELESS_TIME = 4   # 最大失效次数
SUCCESS_RATE = 0.8
TIME_OUT_PENALTY = 10  # 超时惩罚时间
CHECK_TIME_INTERVAL = 24*3600  # 每天更新一次

2、除数据库配置参数外,主要用到的几个参数说明如下:

USELESS_TIMESUCCESS_RATE 是配合使用的,当某个 ipUSELESS_TIME < 4 && SUCCESS_RATE < 0.8 时(同时兼顾到ip短期和长期的检测表现),则剔除该ip。

TIME_OUT_PENALTY , 当某个ip在某次检测时失效,而又没有达到上一条的条件时(比如检测了100次后第一次出现超时),设置一个 response_time 的惩罚项,此处为10秒。

CHECK_TIME_INTERVAL , 检测周期。此处设置为每隔12小时检测一次数据库里每一个ip的可用性。

策略

1、每天如下5个代理ip网站上抓下最新高匿ip数据: mimi、66ip、xici、cn-proxy、kuaidaili

2、N轮筛选

收集到的ip集合将经过N轮,间隔为t的连接测试,对于每一个ip,必须全部通过这N轮测试才能最终进入数据库。如果当天进入数据库的ip较少,则暂停一段时间(一天)再抓。

3、数据库中ip评价准则

检测过程中累计超时次数> USELESS_TIME &&成功率< SUCCESS_RATE 就被剔除。 score = (success_rate + test_times / 500) / avg_response_time 原来的考虑是 score = success_rate / avg_response_time , 即:评分=成功率/平均响应时间, 考虑到检测合格过100次的老ip比新ip更有价值,检测次数也被引入评分。

*本文作者:Tide重剑无锋,转载请注明来自FreeBuf.COM


以上所述就是小编给大家介绍的《Proxy_Pool自动化代理搜集+评估+存储+展示工具》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Programming Ruby

Programming Ruby

Dave Thomas、Chad Fowler、Andy Hunt / Pragmatic Bookshelf / 2004-10-8 / USD 44.95

Ruby is an increasingly popular, fully object-oriented dynamic programming language, hailed by many practitioners as the finest and most useful language available today. When Ruby first burst onto the......一起来看看 《Programming Ruby》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具