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
heart4lor
V2EX  ›  Python

请教 Python 用什么框架写 API 比较好

  •  
  •   heart4lor · 2018-11-26 21:20:14 +08:00 · 12763 次点击
    这是一个创建于 2218 天前的主题,其中的信息可能已经有所发展或是发生改变。

    写一个爬虫项目,需要抓取多个平台的数据以及向多个平台 POST 文章,最终打算打包成 WEB API 以便其他项目调用,使用哪种 Python API 框架编写比较好呢?

    目前了解的有 eve,一款基于 Flask 的 API 框架,和 Django REST Framework。感觉 eve 比较轻量化,适合新手,但是 eve 的文档和博客等资料比较少; Django 文档、博客资料挺详细但是感觉又有点重,该如何取舍呢?或者大佬们有什么适合新手的框架推荐吗?

    谢谢!

    46 条回复    2018-11-29 09:51:14 +08:00
    zuoakang
        1
    zuoakang  
       2018-11-26 21:21:43 +08:00 via Android   ❤️ 3
    选 drf 没错
    strahe
        2
    strahe  
       2018-11-26 21:59:47 +08:00   ❤️ 1
    sanic
    leo7723
        3
    leo7723  
       2018-11-26 22:01:55 +08:00 via Android   ❤️ 1
    博客 django 写的。。文档很全才能上手快啊。
    lniwn
        4
    lniwn  
       2018-11-26 22:08:03 +08:00   ❤️ 1
    WilliamYang
        5
    WilliamYang  
       2018-11-26 23:06:42 +08:00   ❤️ 2
    responder, falcon
    tennc
        6
    tennc  
       2018-11-26 23:32:07 +08:00   ❤️ 1
    ManjusakaL
        7
    ManjusakaL  
       2018-11-26 23:33:11 +08:00   ❤️ 1
    Flask
    LokiSharp
        8
    LokiSharp  
       2018-11-26 23:48:33 +08:00 via iPhone   ❤️ 1
    Flask
    lvhuiqi
        9
    lvhuiqi  
       2018-11-27 08:21:30 +08:00   ❤️ 1
    个人觉得爬虫的话 Flask 比较适合吧,轻巧灵活一些,如果是大型的 Web 开发 推荐使用 django
    Muninn
        10
    Muninn  
       2018-11-27 09:13:06 +08:00   ❤️ 1
    falcon 或者 flask
    ucun
        11
    ucun  
       2018-11-27 09:25:36 +08:00   ❤️ 1
    sevenQu
        12
    sevenQu  
       2018-11-27 09:32:34 +08:00   ❤️ 1
    为什么我近期觉得 python 部署很难啊,哭,php 那是真简单
    zqguo
        13
    zqguo  
       2018-11-27 09:39:19 +08:00   ❤️ 1
    flask+1
    bigjack
        14
    bigjack  
       2018-11-27 09:43:20 +08:00   ❤️ 1
    flask
    Neojoke
        15
    Neojoke  
       2018-11-27 09:48:43 +08:00   ❤️ 2
    PHP 做 API 调 Python 脚本不就行了
    Neojoke
        16
    Neojoke  
       2018-11-27 09:49:07 +08:00
    适合的语言做适合的事情
    Nick66
        17
    Nick66  
       2018-11-27 09:51:24 +08:00   ❤️ 1
    flask
    lfzyx
        18
    lfzyx  
       2018-11-27 09:53:53 +08:00   ❤️ 1
    flask
    Enochyun
        19
    Enochyun  
       2018-11-27 09:54:45 +08:00   ❤️ 1
    把 django 改造成 mvc 形式的 然后做了 restful🤦‍♂️
    PulpFunction
        20
    PulpFunction  
       2018-11-27 10:07:45 +08:00   ❤️ 1
    flask_restful
    了解一下
    https://flask-restful.readthedocs.io/en/latest/
    挺简单
    myyou
        21
    myyou  
       2018-11-27 10:15:25 +08:00   ❤️ 1
    vibora
    laike9m
        22
    laike9m  
       2018-11-27 10:27:09 +08:00 via Android   ❤️ 1
    https://github.com/encode/apistar
    不比 flask 更好?
    TrickWu
        23
    TrickWu  
       2018-11-27 10:49:12 +08:00   ❤️ 1
    可以使用下 flask 的扩展 flask_restful
    上手挺快的
    askfermi
        24
    askfermi  
       2018-11-27 10:49:19 +08:00 via Android   ❤️ 1
    我们之前用 cherrypy 写的...
    Vieufoux
        25
    Vieufoux  
       2018-11-27 10:52:56 +08:00   ❤️ 1
    Django REST framework
    richzhu
        26
    richzhu  
       2018-11-27 10:53:18 +08:00   ❤️ 1
    DRF +1
    haozi3156666
        27
    haozi3156666  
       2018-11-27 10:54:47 +08:00   ❤️ 1
    tornado 试试看
    qq976739120
        28
    qq976739120  
       2018-11-27 10:56:41 +08:00   ❤️ 1
    只是单纯写 api 的话考虑重不重干嘛, dj+drf 一把梭,早点下班不好吗
    Vegetable
        29
    Vegetable  
       2018-11-27 11:03:53 +08:00   ❤️ 3
    考虑这个问题的人,我一律建议先从最重的开始.
    就 drf.
    用简洁的东西,并不会节省你的时间,可能还会有反效果,被莫名其妙的问题卡半天,何必呢.
    305835227fadf
        30
    305835227fadf  
       2018-11-27 12:03:29 +08:00   ❤️ 1
    falcon with pypy
    rust
        31
    rust  
       2018-11-27 13:10:06 +08:00   ❤️ 1
    Starletee
    rust
        32
    rust  
       2018-11-27 13:10:39 +08:00
    @rust 打错了,应该是 Starlette
    secsilm
        33
    secsilm  
       2018-11-27 13:13:44 +08:00 via Android   ❤️ 1
    hug
    Neojoke
        34
    Neojoke  
       2018-11-27 14:22:47 +08:00
    直接用 PHP 调用 Python 脚本好了,如果用什么跨语言的 RPC,反倒是有性能损失
    PulpFunction
        35
    PulpFunction  
       2018-11-27 14:52:03 +08:00
    如果使用 flask 你说不定还会遇到主线程的问题,遇到再说吧
    ugu
        36
    ugu  
       2018-11-27 15:07:45 +08:00
    flask,不过 Django 的文档写的真香啊
    flyingghost
        37
    flyingghost  
       2018-11-27 15:18:28 +08:00
    前提:新手。新手的特点就是对任何问题都不熟,很有可能被一个很初级的问题莫名其妙卡住。

    而设计简洁和使用简单完全是两码事。。。
    使用简单适合新手。设计简洁。。。新手怎么评估和享受设计?
    tt67wq
        38
    tt67wq  
       2018-11-27 15:20:31 +08:00
    新手还是 Django 吧,如果有性能要求 弄 tornado 或者放弃 py 改用 go
    largecat
        39
    largecat  
       2018-11-27 15:23:09 +08:00 via Android
    django 吧,资料全功能全,
    看着轻量反而正式用的时候比重的还麻烦
    lrh3321
        40
    lrh3321  
       2018-11-27 15:33:09 +08:00
    Flask
    Linxing
        41
    Linxing  
       2018-11-27 19:19:06 +08:00
    tornado 了解一下 我司接口全是 tornado
    Les1ie
        42
    Les1ie  
       2018-11-27 21:28:16 +08:00
    https://github.com/kennethreitz/responder 新出炉的螃蟹 要不要试试
    congeec
        43
    congeec  
       2018-11-27 21:32:03 +08:00
    我用 aiohttp 写过
    sniper517
        44
    sniper517  
       2018-11-28 09:50:59 +08:00
    没人推荐 tornado 吗? flask 这么流行了?
    xpresslink
        45
    xpresslink  
       2018-11-28 10:05:45 +08:00
    以我的实践经验来看,如果为了省时省事不太考滤性能那么最便捷的方案是
    django+
    djangorestframework+
    scrapy+
    scrapy-djangoitem
    文档丰富教程多
    kidlfy
        46
    kidlfy  
       2018-11-29 09:51:14 +08:00
    tornado
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   834 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:17 · PVG 05:17 · LAX 13:17 · JFK 16:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.