restful 是一种互联网软件架构(以网络为基础的应用软件的架构设计),其特点:
flask官网:
route():装饰器,URL对应触发的函数,该段代码运行后,打开http://127.0.0.1:5000即可查看对应的资源
from flask import Flask, jsonify, abort
app = Flask(__name__)
results = [
{
'input_text': 'xxx',
'data': [
{
'word': 'xxx',
'title': ['3690090392616837245', '3814509192824492032']
}
]
}
]
@app.route('/query/<string:input_text>', methods=['GET'])
def get_tasks(input_text):
result = list(filter(lambda t: t['input_text'] == input_text, results))
if len(result) == 0:
abort(404)
return jsonify({'results': result})
if __name__ == '__main__':
app.run()
在python中采用requests获取网页上资源
import requests
ans = requests.get('http://127.0.0.1:5000/query/xxx')
print(ans.text)
采用 flask_restful 包的 api 的 get 方法接收请求,并将计算结果返回
客户端在python中采用requests获取网页上资源,并传递请求参数,该段代码中的请求参数为:input_text,值为:枪支
flask接收参数的方式如下,使用中发现采用 post 提交参数,form获取参数的 post 方法速度比 get 方法快些。
request.form.get("key", type=str, default=None)
获取表单数据request.args.get("key")
获取 get 请求参数request.values.get("key")
获取所有参数request.get_json("key")
获取解析 json 数据格式import requests
ans = requests.get('http://127.0.0.1:5000/query/?input_text=枪支')
print(ans.text.encode('utf-8').decode('unicode_escape'))
flask_restful 接收到该参数,并经过一系列的计算后将结果返回
from flask import Flask, request
from flask_restful import Api, Resource
from search_recommend import process_search_recommend
app = Flask(__name__)
api = Api(app)
class ReceiveText(Resource):
def get(self):
input_text = request.args.get('input_text')
results = process_search_recommend(input_text)
return results, 200
api.add_resource(ReceiveText, '/query/')
if __name__ == '__main__':
app.run()
本文地址:https://blog.csdn.net/shlhhy/article/details/107382942
如对本文有疑问, 点击进行留言回复!!
selenium + ajax抓取英雄联盟全部英雄的详细信息及多线程保存全部皮肤图片到本地
网友评论