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

这种情况下应该用 Python 哪个框架?

  •  
  •   ifconfig · 2016-06-02 09:27:13 +08:00 · 4071 次点击
    这是一个创建于 3132 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司目前已有一个 PHP 项目,但是有些场景需要用到数据分析和爬虫,所以打算用 Python 的 Scrapy 做这一块。

    目前想到的办法是:通过 PHP 调用 Python 一些挖掘和分析的服务,然后返回数据给 PHP ,写进数据库。

    由于对 Python 这块领域是小白, Python 应该怎样封装成服务与 PHP 通信,用 Python 哪些框架封装成服务,都不太了解,忘各位给给意见,谢谢。

    21 条回复    2016-06-06 12:49:47 +08:00
    cc7756789
        1
    cc7756789  
       2016-06-02 09:38:18 +08:00
    不直接用 Python 写进数据库?还要返给 PHP ?
    ifconfig
        2
    ifconfig  
    OP
       2016-06-02 09:40:10 +08:00
    @cc7756789 PHP 和 Python 都行,不是重点,主要想用 Python 封装成服务,而不是数据层。
    jinxueliu
        3
    jinxueliu  
       2016-06-02 09:41:57 +08:00
    可以用 Python 做成 HTTP 服务,然后 PHP 来调用
    will0404
        4
    will0404  
       2016-06-02 10:09:18 +08:00   ❤️ 1
    如果是 http 通讯, python 这端起个简单的 web 服务就可以了,比如用 flask
    ifconfig
        5
    ifconfig  
    OP
       2016-06-02 10:16:39 +08:00
    @will0404 你的意思是在 flask 上搭个 Scrapy ,然后把它做成服务,供 PHP 调用吗? Python 刚学,下周就要用 flask ,不知能不能应付得来,或者有没有更轻量的框架介绍?
    9hills
        6
    9hills  
       2016-06-02 10:17:40 +08:00   ❤️ 1
    @ifconfig flask 已经很轻量了,十几行就是一个 webserver
    JhZ7z587cYROBgVQ
        7
    JhZ7z587cYROBgVQ  
       2016-06-02 10:21:45 +08:00
    要不用 thriftpy 写成 thrift 服务供调用方使用? php 应该也可以用 thrift 协议的
    ifconfig
        8
    ifconfig  
    OP
       2016-06-02 10:27:17 +08:00
    @will0404 @9hills @jason0916 谢谢各位,回去恶补下这些知识
    pierre1994
        9
    pierre1994  
       2016-06-02 11:16:41 +08:00
    django 和 rest-framework ,弄成 rest api 应该可以
    peter999
        10
    peter999  
       2016-06-02 11:19:12 +08:00
    Scrapy 太恶心了,没法整合 gevent ,建议 django+requests
    Delbert
        11
    Delbert  
       2016-06-02 12:19:52 +08:00 via Android
    @9hills web.py 才是最轻量的吧?虽然作者已经挂了。 Rip
    strider0505
        12
    strider0505  
       2016-06-02 14:25:46 +08:00
    flask
    taozhijiangscu
        13
    taozhijiangscu  
       2016-06-02 15:15:40 +08:00
    哈哈, Tornado 妥妥的。
    https://r.taozj.org
    orange
        14
    orange  
       2016-06-02 17:05:57 +08:00
    flask
    hwsdien
        15
    hwsdien  
       2016-06-02 17:08:32 +08:00
    上 thrift 用 rpc 接口
    YUX
        16
    YUX  
       2016-06-02 17:11:06 +08:00
    requests+flask 正解
    但我觉得 python 爬完写到数据库 PHP 直接去数据库找不是更好?
    practicer
        17
    practicer  
       2016-06-02 17:16:04 +08:00
    @cc7756789 我也觉得直接存数据库, php 读库最实用。另外想知道为什么必须用 python 来做爬虫, PHP 不是一样可以爬嘛?换 python scrapy 不会有成本吗?
    ifconfig
        18
    ifconfig  
    OP
       2016-06-02 17:22:04 +08:00
    @YUX @practicer 之前用 PHP 的 simple html dom 库爬过,有些网站通过 ajax 的话加载爬不出一些数据,正好 CTO 闲的蛋疼自己学 Python 然后说可以解决这个问题,就交给我开发,麻蛋,手上一大堆工作,他倒是好
    Owenjia
        19
    Owenjia  
       2016-06-02 23:41:10 +08:00
    @Delbert 最轻量的么? Pycnic 貌似 300 行不到。
    aljun
        20
    aljun  
       2016-06-03 02:18:24 +08:00 via iPhone
    有时间的话⋯⋯可以自己基于 wsgi 实现个框架满足要求⋯⋯


    这里有个我写的轻量级的 API server⋯⋯基于 gevent 的 wsgi

    http://jolla.readthedocs.io/zh/latest/
    brucedone
        21
    brucedone  
       2016-06-06 12:49:47 +08:00
    flask+ docker ,打包之后随时使用。
    @practicer 用 python 做爬虫没有其它的大原因,写的顺手,社区成熟,活跃,出问题都可以找的到答案, python 的 scrapy 框架也非常成熟。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2901 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:43 · PVG 21:43 · LAX 05:43 · JFK 08:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.