python爬虫013-IP代理池的维护-(4)api接口模块

api接口是为了让我们能够通过简单的request就能得到一个可用的随机代理而设计的,它使程序不需要向本地主机的redis数据库获取代理。这样方便我们将他部署到服务器上,随时可以调用。

这里我用了Flask这个轻量级web开发框架,简单的生成了一个web程序程序,并在127.0.0.1:5000这个端口开放。每次只要访问/random就可以直接得到一个代理了。

代码:

from flask import Flask,g
from saver import RedisClient


__all__ = ['app']
app = Flask(__name__)


def get_conn():
    if not hasattr(g, 'redis'):
        g.redis = RedisClient()
    return g.redis

@app.route('/')
def index():
    return '

Welcome to Proxy Pool Systeml

' @app.route('/random') def get_proxy(): """随机获取可用代理""" conn = get_conn() return conn.random() @app.route('/count') def get_counts(): """获取代理池总量""" conn = get_conn() return str(conn.count()) if __name__ == '__main__': app.run()

我们运行之后解雇如下,控制台输出:

控制台

我们打开浏览器访问这个端口,可以看到如下:

image.png

我们访问/random

代理

之后我们只需要向这个端口发送请求就可以得到代理了。

这个真的没什么难度。

突然想去看看python后端开发的东西了,等我学完手边的爬虫书吧!

你可能感兴趣的:(python爬虫013-IP代理池的维护-(4)api接口模块)