scylla“ style =”最大宽度:100%;“>
scylla
一个智能的人文代理池,从互联网中提取内容并在这个新的AI时代建立自己的大型语言模型。
关键功能:
- 自动代理IP爬网和验证
- 易于使用的JSON API
- 简单但美丽的基于网络的用户界面(例如代理的地理分布)
- 最少的1个命令开始
- 简单的http forward代理服务器
- 砂纸和要求仅与1行代码相结合
- 无头浏览器爬行
开始
安装
与Docker一起安装(强烈建议)
scylla --name scylla wildcat/ scylla :latest">
docker run -d -p 8899:8899 -p 8081:8081 -v /var/www/ scylla :/var/www/ scylla --name scylla wildcat/ scylla :latest
直接通过PIP安装
scylla
scylla --help
scylla # Run the crawler and web server for JSON API">
pip install scylla
scylla --help
scylla # Run the crawler and web server for JSON API
从源安装
scylla
pip install -r requirements.txt
cd frontend
npm install
cd ..
make assets-build
python -m scylla ">
git clone https://gi**thu*b.com/imWildCat/scylla.git cd scylla pip install -r requirements.txt cd frontend npm install cd .. make assets-build python -m scylla
用法
这是使用端口8899在本地运行服务(Localhost)的一个示例。
注意:您可能需要等待1到2分钟才能首次使用scylla在数据库中填充一些代理IP。
JSON API
代理IP列表
http://localh*o*st:*8899/api/v1/proxies可选的URL参数:
| 参数 | 默认值 | 描述 |
|---|---|---|
| 页 | 1 | 页码 |
| 限制 | 20 | 每个页面显示的代理数量 |
| 匿名的 | 任何 | 是否显示匿名代理。可能的值:是的,只有匿名代理;错误,只有透明的代理 |
| https | 任何 | 是否显示HTTPS代理。可能的值:是的,只有https代理;错误,只有http代理 |
| 国家 | 没有任何 | 特定国家的过滤代理。格式示例:我们或多countries:US,GB |
样本结果:
{
"proxies" : [{
"id" : 599 ,
"ip" : " 91.229.222.163 " ,
"port" : 53281 ,
"is_valid" : true ,
"created_at" : 1527590947 ,
"updated_at" : 1527593751 ,
"latency" : 23.0 ,
"stability" : 0.1 ,
"is_anonymous" : true ,
"is_https" : true ,
"attempts" : 1 ,
"https_attempts" : 0 ,
"location" : " 54.0451,-0.8053 " ,
"organization" : " AS57099 Boundless Networks Limited " ,
"region" : " England " ,
"country" : " GB " ,
"city" : " Malton "
}, {
"id" : 75 ,
"ip" : " 75.151.213.85 " ,
"port" : 8080 ,
"is_valid" : true ,
"created_at" : 1527590676 ,
"updated_at" : 1527593702 ,
"latency" : 268.0 ,
"stability" : 0.3 ,
"is_anonymous" : true ,
"is_https" : true ,
"attempts" : 1 ,
"https_attempts" : 0 ,
"location" : " 32.3706,-90.1755 " ,
"organization" : " AS7922 Comcast Cable Communications, LLC " ,
"region" : " Mississippi " ,
"country" : " US " ,
"city" : " Jackson "
},
...
],
"count" : 1025 ,
"per_page" : 20 ,
"page" : 1 ,
"total_page" : 52
}系统统计
http://*loc*a*lhost:8899/api/v1/stats样本结果:
{
"median" : 181.2566407083 ,
"valid_count" : 1780 ,
"total_count" : 9528 ,
"mean" : 174.3290085201
}http向前代理服务器
默认情况下, scylla将在端口8081上启动HTTP远期代理服务器。此服务器将选择最近从数据库更新的代理,并将用于远期代理。每当HTTP请求到达时,代理服务器都会随机选择代理。
注意:目前不支持HTTPS请求。
使用此代理服务器的卷发示例如下:
curl http://api.*ipi**fy.org -x http://127.*0*.*0.1:8081您也可以将此功能与请求一起使用:
requests . get ( 'http://api.*ipi**fy.org' , proxies = { 'http' : 'http://127.*0*.*0.1:8081' })Web UI
打开http:// localhost:8899在您的浏览器中查看该项目的Web UI。
代理IP列表
http://l*o*calh*ost:8899/
截屏:

全球分布图
http://l*o*calh*ost:8899/#/geo
截屏:

API文档
请阅读模块索引。
路线图
请参阅项目。
发展和贡献
scylla
pip install -r requirements.txt
npm install
make assets-build">
git clone https://gi**thu*b.com/imWildCat/scylla.git
cd scylla
pip install -r requirements.txt
npm install
make assets-build
测试
如果您希望在本地进行测试,则命令如下:
pip install -r tests/requirements-test.txt
pytest tests/欢迎您在该项目中添加更多测试用例,从而增加该项目的鲁棒性。
该项目的命名
scylla源自美国电视连续剧《越狱》中的一组记忆筹码的名称。该项目以美国电视连续剧的名字命名,以向其致敬。
帮助
如何在Centos7上安装Python scylla
捐款
如果您觉得这个项目有用,请您捐出一些钱吗?
不管这笔钱多少钱,您的捐款都会激发作者不断开发新功能! ?谢谢!
捐赠方式如下所示:
Github赞助商
如果您可以在这里加入我的赞助商,我非常感谢。
https://**git*hub.com/sponsors/imwildcat
贝宝
执照
Apache许可证2.0。有关更多详细信息,请阅读许可证文件。
下载源码
通过命令行克隆项目:
git clone https://github.com/imWildCat/scylla.git