代理收集器
proxyp的Python项目详细描述
#proxy_py
proxy_py是一个程序,它收集代理,将它们保存在数据库中,并定期进行检查。
它有一个服务器,可以使用漂亮的api获取代理(见下文)。
在[这里](http://proxy py.readthedocs.io)
1克隆此存储库
2安装要求
``bash
cd proxy-py
pip3 install-r-requirements.txt
```
3创建设置文件
`cp config-examples/settings.py proxy-py/settings.py`
4在settings.py文件中安装postgresql并更改数据库配置
>5(可选)configure alembic
>6运行应用程序
`python3 main.py`
7享受!我太懒了。我能用一下吗?
`待办事项:更新,旧版本!`
是的,您可以下载virtualbox image
[此处](https://drive.google.com/file/d/1opf6xwoadrh95ozw0vkpr1uu戡ilde9jc/view?usp=共享)。
下载后检查端口转发是否仍在工作,
您需要将55555主机端口转发给55555来宾。
代理有一个基于aiohttp的服务器,它正在监听127.0.0.1:55555
(您可以在设置文件中更改它)并提供代理。
若要获取代理,您应该在http://127.0.0.1:5555555/api/v1/`
(或其他域,如果位于rever之后se proxy):
```json
{
"model":"proxy"
"method":"get"
"order by":"响应时间,正常运行时间"
}
````
注意:order by使结果按一个或多个字段排序(用逗号分隔)。
您可以跳过它。必需的字段是"model"和"method"。
_检查时间:1509466165,
"错误检查数":0,
"端口":8080,
"协议":"http",
"响应时间":461691,
"正常运行时间":1509460949
}
],
"有更多":false,
"状态":"正常","状态代码":200
}
``````
注:除*协议*,*域*,*端口*,*身份验证数据*,
*检查周期*和*地址*可以为空
如果出现错误,则可以为错误:
``json
{
"错误消息":"应指定"模型",
"状态":"错误",
"状态代码":400
}
````
atus_代码也在http状态代码中重复
使用curl的示例:
`curl-x post http://127.0.0.1:55555/api/v1/-h"内容类型:应用程序/json"--数据"{"模型":"代理","方法":"get"}`
uests.post('http://127.0.0.1:55555/api/v1/',json=json戋data)
如果response.status戋code==200:
response=json.loads(response.text)
对于response中的代理['data']:
result.append(proxy['address')
否则:
请检查此处的错误
pass
返回result
```
使用aiohttp库的示例:
```python
import aiohttp
tsession()作为会话:
async with session.post('http://127.0.0.1:55555/api/v1/',json=json_data)作为响应:
if response.status==200:
response=json.loads(await response.text())
对于响应中的代理['data']:
result.append(proxy['address'])
否则:
请检查此处的错误
通过
如何与api交互?
阅读有关api的更多信息[此处](https://github.com/devalone/proxy懔py/tree/master/docs/api.md)
懔如何贡献?
`todo:编写关于它的指南`
如何测试它?
如果您对代码进行了更改,并希望检查您没有中断任何内容,请转到[此处](https://github.com/devalone/proxy-py/tree/master/docs/tests.md)
1安装主管、nginx和postgresql
`root@server:~$apt安装主管nginx postgresql`
2创建虚拟环境并在其上安装要求
3个副本设置。py示例:
`proxy py@server:~/proxy py$cp-config-examples/settings.py proxy_ py/`
4在postgresql数据库中创建非特权用户
,并在设置中更改数据库身份验证数据。py
``bash
proxy py@server:~/proxy py$vim proxy py/settings.py
`````
``bash
`数据库连接kwargs={
'数据库':'您的postgres数据库se',
"用户":"您的postgres用户",
"密码":"您的postgres密码",
"同时连接数
"最大连接数":20,
}
``````
5复制管理器配置示例,并根据您的情况进行更改
``bash
root@server:~$cp/home/proxy-py/proxy-py/config-examples/proxy-py.supervisor.conf/etc/supervisor/conf.d/proxy-py.conf
root@server:~$vim/etc/supervisor/conf.d/proxy-py.conf
``````
6 copy nginx-config-example,启用它并在需要时更改ig-examples/proxy-py.nginx.conf/etc/nginx/sites-available/proxy-py
root@server:~$ln-s/etc/nginx/sites-available/proxy-py/etc/nginx/sites-enabled/
root@server:~$vim/etc/nginx/sites-available/proxy-py
`````
7 restart supervisor和nginx
``bash
root@server:~$ssupervisorctl重读
root@server:~$supervisorctl update
root@server:~$/etc/init.d/nginx configtest
root@server:~$/etc/init.d/nginx restart
````
8享受在您的服务器上使用它!
这取决于什么?
参见"requirements.txt"
proxy_py是一个程序,它收集代理,将它们保存在数据库中,并定期进行检查。
它有一个服务器,可以使用漂亮的api获取代理(见下文)。
在[这里](http://proxy py.readthedocs.io)
1克隆此存储库
2安装要求
``bash
cd proxy-py
pip3 install-r-requirements.txt
```
3创建设置文件
`cp config-examples/settings.py proxy-py/settings.py`
4在settings.py文件中安装postgresql并更改数据库配置
>5(可选)configure alembic
>6运行应用程序
`python3 main.py`
7享受!我太懒了。我能用一下吗?
`待办事项:更新,旧版本!`
是的,您可以下载virtualbox image
[此处](https://drive.google.com/file/d/1opf6xwoadrh95ozw0vkpr1uu戡ilde9jc/view?usp=共享)。
下载后检查端口转发是否仍在工作,
您需要将55555主机端口转发给55555来宾。
代理有一个基于aiohttp的服务器,它正在监听127.0.0.1:55555
(您可以在设置文件中更改它)并提供代理。
若要获取代理,您应该在http://127.0.0.1:5555555/api/v1/`
(或其他域,如果位于rever之后se proxy):
```json
{
"model":"proxy"
"method":"get"
"order by":"响应时间,正常运行时间"
}
````
注意:order by使结果按一个或多个字段排序(用逗号分隔)。
您可以跳过它。必需的字段是"model"和"method"。
_检查时间:1509466165,
"错误检查数":0,
"端口":8080,
"协议":"http",
"响应时间":461691,
"正常运行时间":1509460949
}
],
"有更多":false,
"状态":"正常","状态代码":200
}
``````
注:除*协议*,*域*,*端口*,*身份验证数据*,
*检查周期*和*地址*可以为空
如果出现错误,则可以为错误:
``json
{
"错误消息":"应指定"模型",
"状态":"错误",
"状态代码":400
}
````
atus_代码也在http状态代码中重复
使用curl的示例:
`curl-x post http://127.0.0.1:55555/api/v1/-h"内容类型:应用程序/json"--数据"{"模型":"代理","方法":"get"}`
uests.post('http://127.0.0.1:55555/api/v1/',json=json戋data)
如果response.status戋code==200:
response=json.loads(response.text)
对于response中的代理['data']:
result.append(proxy['address')
否则:
请检查此处的错误
pass
返回result
```
使用aiohttp库的示例:
```python
import aiohttp
tsession()作为会话:
async with session.post('http://127.0.0.1:55555/api/v1/',json=json_data)作为响应:
if response.status==200:
response=json.loads(await response.text())
对于响应中的代理['data']:
result.append(proxy['address'])
否则:
请检查此处的错误
通过
如何与api交互?
阅读有关api的更多信息[此处](https://github.com/devalone/proxy懔py/tree/master/docs/api.md)
懔如何贡献?
`todo:编写关于它的指南`
如何测试它?
如果您对代码进行了更改,并希望检查您没有中断任何内容,请转到[此处](https://github.com/devalone/proxy-py/tree/master/docs/tests.md)
1安装主管、nginx和postgresql
`root@server:~$apt安装主管nginx postgresql`
2创建虚拟环境并在其上安装要求
3个副本设置。py示例:
`proxy py@server:~/proxy py$cp-config-examples/settings.py proxy_ py/`
4在postgresql数据库中创建非特权用户
,并在设置中更改数据库身份验证数据。py
``bash
proxy py@server:~/proxy py$vim proxy py/settings.py
`````
``bash
`数据库连接kwargs={
'数据库':'您的postgres数据库se',
"用户":"您的postgres用户",
"密码":"您的postgres密码",
"同时连接数
"最大连接数":20,
}
``````
5复制管理器配置示例,并根据您的情况进行更改
``bash
root@server:~$cp/home/proxy-py/proxy-py/config-examples/proxy-py.supervisor.conf/etc/supervisor/conf.d/proxy-py.conf
root@server:~$vim/etc/supervisor/conf.d/proxy-py.conf
``````
6 copy nginx-config-example,启用它并在需要时更改ig-examples/proxy-py.nginx.conf/etc/nginx/sites-available/proxy-py
root@server:~$ln-s/etc/nginx/sites-available/proxy-py/etc/nginx/sites-enabled/
root@server:~$vim/etc/nginx/sites-available/proxy-py
`````
7 restart supervisor和nginx
``bash
root@server:~$ssupervisorctl重读
root@server:~$supervisorctl update
root@server:~$/etc/init.d/nginx configtest
root@server:~$/etc/init.d/nginx restart
````
8享受在您的服务器上使用它!
这取决于什么?
参见"requirements.txt"