/Miku

免费IP代理池

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Miku

项目说明

由于抓取的目标网址在普通情况下不可访问,所以代码需要部署在海外的vps上, 推荐vultr,每月最低仅需$3.5

  • crawl.py

    爬虫代码,抓取几个海外的代理网站

  • prove.py

    验证代码,每隔一段时间验证数据库里的代理是否还存活

  • app.py

    Tornado框架搭建的api服务

  • run.py

    启动文件

下载安装

  • 下载源码

    git clone https://github.com/ngauerh/Miku.git

  • 安装依赖

    cd Miku pip install -r requirements.txt

  • 配置settings.py

    DB是数据库配置,使用MySQL数据库

    SERVER_PORT 是api服务使用的端口

    API_USERNAME,API_PASSWD是使用api时需携带的参数

  • 启动

    python3 run.py

使用

启动过十秒后就可以从数据库里看到抓取的代理IP

api method description arg
/ GET Hello, Welcome to Miku None
/get_all GET 获取所有代理 None
/get GET 随机获取一个代理 None
/overseas GET 随机获取一个海外代理 None
/delete GET 删除代理 proxy=ip
import requests

# 获取代理
def get_proxy():
    res = requests.get("http://127.0.0.1:SERVER_PORT/get", param={'usr':API_USERNAME,'password':API_PASSWD})
    return res.text

# 删除代理
def del_proxy():
    res = requests.get("http://127.0.0.1:SERVER_PORT/delete?proxy={}".format(ip), param={'usr':API_USERNAME,'password':API_PASSWD})