Python 接口接口 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
xueyoucai
V2EX    Python

Python 接口接口

  •  
  •   xueyoucai 2020-06-04 14:39:43 +08:00 2763 次点击
    这是一个创建于 1962 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司给了一个接口,说是要更新数据,需要我写一个调用接口的服务。 我谢了一个 request 脚本,数据可以更新入库 但是现在想把它改写成为 flask 的接口 请问,可以改写成接口请求嘛。如果可以怎么实现

    14 条回复    2020-06-06 18:34:47 +08:00
    krixaar
        1
    krixaar  
       2020-06-04 14:42:54 +08:00
    没看明白你想干什么,用 flask 当中间层做个 API 的 API ?
    jdhao
        2
    jdhao  
       2020-06-04 14:45:28 +08:00 via Android
    这不是脱裤子放屁了,你用 request 实现了,为啥要再套一层 flask 接口呢。。当然再套一层应该可以,在 flask 请求里面 request 公司给你的接口
    black11black
        3
    black11black  
       2020-06-04 14:48:33 +08:00
    都散了吧,楼主这贴发的明显啥也不懂,问了也白问
    siteshen
        4
    siteshen  
       2020-06-04 14:49:43 +08:00
    1. 找个 Flask 的入门教程,学习怎么构建简单的 API ;
    2. 重构你的脚本,对外提供一个 update_data() 之类的函数;
    3. 整合 Flask 和你的脚本。

    最终能得到类似下面的代码(现场手写的,请自辨):


    from your_script import update_data

    app = Flask()

    @app.route("/api/update-data")
    def update_data_handler():
    kwargs = app.get_request_args() # 需要去查 flask 怎么获取参数
    update_data(user_id=kwargs['user'], post_ids=kwargs['post_ids'])
    return {"success": true}


    if __name__ == "__main__":
    app.run()
    ibegyourpardon
        5
    ibegyourpardon  
       2020-06-04 14:49:51 +08:00
    我大概明白了。公司有个接口,可以 update 数据。
    哥们一想这他妈简单啊,requests 直接撸起啊。
    10 分钟搞定了。
    回头一看,这脚本执行太麻烦了,毕竟不是什么时候都好跑这个脚本。
    哥们灵机一动,那我用 flask 写个接口服务,当前端或者什么请求我的接口的时候,我把这个请求封装处理下发送给公司的那个接口请求不就完了?

    这不就是脱裤子放屁吗?
    xueyoucai
        6
    xueyoucai  
    OP
       2020-06-04 14:51:28 +08:00
    @ibegyourpardon 对 大概就是这个意思,可是这个屁放的不舒服
    xueyoucai
        7
    xueyoucai  
    OP
       2020-06-04 14:52:13 +08:00
    @jdhao 问题是怎么把这玩意做成服务,常驻运行
    xueyoucai
        8
    xueyoucai  
    OP
       2020-06-04 14:53:40 +08:00
    @siteshen 好像跟我想的差不多?~~
    ibegyourpardon
        9
    ibegyourpardon  
       2020-06-04 15:24:28 +08:00
    @xueyoucai 为啥不直接请求公司给你的接口呢。。。
    krixaar
        10
    krixaar  
       2020-06-04 17:32:50 +08:00
    我大概明白了,是不想每次手工写个 txt 然后跑.py ,想有个什么界面能直接敲点什么回车即可,那你需要的大概不是 Python,应该随便找个啥前端框架(再不济 Bootstrap4 都行)撸个表单页面出来,放本机的 Apache/Nginx 上,浏览器打开页面用 AJAX 往公司 API 扔就行了( Bootstrap4 自带 jQuery 直接$.ajax )。
    lithiumii
        11
    lithiumii  
       2020-06-04 19:49:00 +08:00 via Android
    或者你需要的其实是定时执行脚本?
    xueyoucai
        12
    xueyoucai  
    OP
       2020-06-05 13:50:47 +08:00
    @krixaar 这样也可以哦~
    SjwNo1
        13
    SjwNo1  
       2020-06-05 18:52:16 +08:00
    你先弄清楚 who where when,再考虑要不要写成接口,若是常驻运行,那你需要定时脚本
    qile1
        14
    qile1  
       2020-06-06 18:34:47 +08:00 via Android
    这些接口如果循环执行,建议做后台定时任务,之前也遇到楼主说的情况,公司要求明天调用接口产生一些日志数据,建议直接 python 写逻辑代码,Windows 用计划任务每天执行吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2552 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 02:21 PVG 10:21 LAX 19:21 JFK 22:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86