Flask 接口
目录
前言
代码实现
简单接口实现
执行其它程序接口
携带参数访问接口
前言
有时候会想着开个一个接口来访问试试,这里就给出一个基础接口代码示例
代码实现
导入Flask模块,没安装Flask 模块需要进行
安装:pip install flask
使用镜像安装: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
from flask import Flask
简单接口实现
这里是一个简单的接口代码
from flask import Flask
app = Flask(__name__)
@app.route('/crawl', methods=['post'])
def crawl():
result = '这个是自己的一个接口'
print(result)
return result # 返回一个响应给请求方
if __name__ == '__main__':
app.run()
- app.run() : 运行接口代码
- @app.route('/crawl', methods=['post']) : 支持post 访问接口,执行crawl 函数
- Flask(__name__):使用Flask框架创建一个Flask应用程序的实例
其中'crwl'是接口访问路径,访问这个接口之后就会调用的函数,也就是他是什么,就会调用相对应的函数。若改为xxx 那么就会调用名为xxx函数
运行代码显示
这个访问的url 是自己的本地IP以及默认接口:http://127.0.0.1:5000/crawl
访问结果
执行其它程序接口
我们写了一个爬虫程序,想要访问的时候就需要执行爬虫程序,那么就得现将爬虫程序导入进来,之后再执行函数里面调用就ok啦
直接上代码
from flask import Flask
from HeX import Hexin
app = Flask(__name__)
@app.route('/crawl', methods=['post'])
def crawl():
result = Hexin.get_data()
print(result)
return result # 返回一个响应给请求方
if __name__ == '__main__':
app.run()
其中,Hexin.get_data() 是自己爬虫程序,这里就不展示访问结果
携带参数访问接口
上代码
from flask import Flask, request, jsonify
from res import Hexin
app = Flask(__name__)
@app.route('/crawl', methods=['POST'])
def crawl():
param_value = request.form.get('page')
result = Hexin(page=param_value).get_data()
return jsonify(result)
@app.route('/crawl', methods=['GET'])
def crawl():
param_value = request.form.get('page')
result = Hexin(page=param_value).get_data()
return jsonify(result)
if __name__ == '__main__':
app.run(port=55317, host='0.0.0.0')
- port: 访问端口 ,介于 1 到 65535 之间的整数
当post设置为0时候,Flask会随机性给你配置一个未被占用端口
- host='0.0.0.0': 这里是设置访问接口IP为自己的IP
比如说我的IP地址是192.168.26.178,那么开的接口就是:192.168.26.178:端口号/crawl
- request.form.get('page') : 获取到访问者携带参数中page变量
需要访问者自己携带一个page变量参数,需要携带什么可以自己定义
- jsonify(result) :将字符串转为json 格式数据,类似Python 中json模块
当然了需要携带参数,这个直接使用浏览器访问,是访问不了的,因为他没携带参数
这里就可以自己写代码访问就行
访问例子:
访问接口一般在执行之后都能看到,参照上面简单接口