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

是用 Requests for #Python#呢,还是 Request for #Node#呢?

  •  
  •   devn1l · 2015-10-09 08:08:46 +08:00 · 2738 次点击
    这是一个创建于 3340 天前的主题,其中的信息可能已经有所发展或是发生改变。
    要实现一个模拟浏览器操作的工具,是用 Requests for #Python#呢,还是 Request for #Node#呢?

    大致的工作流是这样的,分别模拟用户到两个不同的网站上去刷数据,比对后满足一定条件执行后续操作。要求高性能,能很好的处理 cookie ,因所有操作都是登录后。
    9 条回复    2015-10-09 13:08:01 +08:00
    yaxin
        1
    yaxin  
       2015-10-09 08:50:20 +08:00
    你熟悉哪种语言就用哪种
    plqws
        2
    plqws  
       2015-10-09 09:32:18 +08:00 via Android
    都可以,差别不大,熟悉什么用什么,刚开始学的话感觉 Python 坑会比较少
    imdjh
        3
    imdjh  
       2015-10-09 09:51:25 +08:00 via Android
    我推荐用 nodejs 内建的 http.request 模块。

    Pro: 相对 request 模块,更少 overhead ,自己管理最大并发量( http.agent),但需要自己处理 cookie(手动设置发出去的 header ,异步(不清楚 py 的 requests 是不是)。

    Cons: 但是就像楼上所说, agent , header 会有坑可能要踩,而且国内文档不多。很无奈的是 nodejs 的 api 不太稳定,天晓得哪天发个 6.0.0 。还有就是内存, cpu 占用很高,这些都要考虑到。
    gamexg
        4
    gamexg  
       2015-10-09 09:55:50 +08:00
    node 不熟悉, python Requests 能自动处理 cookie ,比较方便。

    http://cn.python-requests.org/en/latest/user/advanced.html#id2

    最后网页非常复杂的时候 python 还可以模拟浏览器运行 js ,甚至直接启动浏览器模拟访问。
    imdjh
        5
    imdjh  
       2015-10-09 10:05:22 +08:00 via Android
    @gamexg 你最后提到的浏览器相关的感觉好黑科技。能够细说下给个链接,或者给几个 keyword 吗?谢谢
    lei286394973
        6
    lei286394973  
       2015-10-09 10:11:11 +08:00   ❤️ 1
    @imdjh selenium + phantomjs 就可以啊
    aisk
        7
    aisk  
       2015-10-09 11:40:33 +08:00
    gevent + requests + python
    magicdawn
        8
    magicdawn  
       2015-10-09 12:15:24 +08:00
    Node.js superagent 自动处理 cookie
    icedx
        9
    icedx  
       2015-10-09 13:08:01 +08:00
    Python 有硬伤 处理不好动态页面 最后还是要挂靠 Node
    如果楼主两个水平差不多的话 推荐 Node
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2792 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:30 · PVG 10:30 · LAX 18:30 · JFK 21:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.