python爬虫013-IP代理池的维护-(4)api接口模块
2019-04-09 本文已影响6人
DKider
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 '<h2>Welcome to Proxy Pool Systeml </h2>'
@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()
我们运行之后解雇如下,控制台输出:

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

我们访问/random

之后我们只需要向这个端口发送请求就可以得到代理了。
这个真的没什么难度。
突然想去看看python后端开发的东西了,等我学完手边的爬虫书吧!