• Flask 接口


    目录

    前言

    代码实现

    简单接口实现

    执行其它程序接口

    携带参数访问接口


    前言

    有时候会想着开个一个接口来访问试试,这里就给出一个基础接口代码示例


    代码实现

    导入Flask模块,没安装Flask 模块需要进行

    安装:pip install flask 

    使用镜像安装: pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask

    from flask import Flask

    简单接口实现

    这里是一个简单的接口代码

    1. from flask import Flask
    2. app = Flask(__name__)
    3. @app.route('/crawl', methods=['post'])
    4. def crawl():
    5. result = '这个是自己的一个接口'
    6. print(result)
    7. return result # 返回一个响应给请求方
    8. if __name__ == '__main__':
    9. 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啦

    直接上代码

    1. from flask import Flask
    2. from HeX import Hexin
    3. app = Flask(__name__)
    4. @app.route('/crawl', methods=['post'])
    5. def crawl():
    6. result = Hexin.get_data()
    7. print(result)
    8. return result # 返回一个响应给请求方
    9. if __name__ == '__main__':
    10. app.run()

    其中,Hexin.get_data() 是自己爬虫程序,这里就不展示访问结果

    携带参数访问接口

    上代码

    1. from flask import Flask, request, jsonify
    2. from res import Hexin
    3. app = Flask(__name__)
    4. @app.route('/crawl', methods=['POST'])
    5. def crawl():
    6. param_value = request.form.get('page')
    7. result = Hexin(page=param_value).get_data()
    8. return jsonify(result)
    9. @app.route('/crawl', methods=['GET'])
    10. def crawl():
    11. param_value = request.form.get('page')
    12. result = Hexin(page=param_value).get_data()
    13. return jsonify(result)
    14. if __name__ == '__main__':
    15. 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模块

    当然了需要携带参数,这个直接使用浏览器访问,是访问不了的,因为他没携带参数

    这里就可以自己写代码访问就行

    访问例子:

    访问接口一般在执行之后都能看到,参照上面简单接口

  • 相关阅读:
    一文掌握Spring MVC REST风格开发
    5、Docker安装mysql主从复制与redis集群
    jvm oom内存溢出,导出dump,使用mat进行问题分析
    多因素身份认证之手机推送认证
    动态代理类的特征
    传统伪影去除方案
    myCat实现分库分表
    JVM 输出 GC 日志导致 JVM 卡住,我 TM 人傻了
    Java基础知识篇
    Tetrate刘晗:SkyWalking原生eBPF探针实战
  • 原文地址:https://blog.csdn.net/qq_49349528/article/details/134480795