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

开始学 vue,尝试着用 requests.get() 去爬自己写的网页,然后什么都爬不到

  •  
  •   liangmishi · 2016 年 8 月 25 日 · 8650 次点击
    这是一个创建于 3437 天前的主题,其中的信息可能已经有所发展或是发生改变。
    这种情况各位大大是如何解决的?
    不用 selenium 等库,就用 requests 可有办法 ?
    22 条回复    2016-08-26 23:47:32 +08:00
    ljcarsenal
        1
    ljcarsenal  
       2016 年 8 月 25 日
    你在页面上 ctrl+u 看到的是什么样的内容 爬虫爬到的就是什么样的内容
    eromoe
        2
    eromoe  
       2016 年 8 月 25 日
    纯 js 网站就是这样啊,我记得好像可以用 pyv8 运行 js ,但是文档很不完善,基本就是坑
    liangmishi
        3
    liangmishi  
    OP
       2016 年 8 月 25 日
    @ljcarsenal 确实如此

    @eromoe 那只能使用 selenium 之类的库了,但是效率很低
    chairuosen
        4
    chairuosen  
       2016 年 8 月 25 日
    用 vue2.0 的 server-side renderer
    foomorrow
        5
    foomorrow  
       2016 年 8 月 25 日
    phantomjs
    eromoe
        6
    eromoe  
       2016 年 8 月 25 日
    @foomorrow
    纯 python 就是 selenium +webdriver(phantomjs), 要不还要学 phantomjs (虽然也不难,不过也有些坑)
    isbase
        7
    isbase  
    PRO
       2016 年 8 月 25 日   ❤️ 2
    推荐 nightmare
    iamsgg
        8
    iamsgg  
       2016 年 8 月 25 日
    有的网站看来路,来路不对不返回内容。
    liangmishi
        9
    liangmishi  
    OP
       2016 年 8 月 25 日
    @eromoe 学了一段时间 phantomjs ,感觉文档不多,学着累

    @isbase 感谢~
    @iamsgg 来路一般是看是否有 User-Agent 吧
    holajamc
        10
    holajamc  
       2016 年 8 月 25 日
    可以试试 httplib2 ,我觉得这玩意儿就是 Python 下的 HTTP 请求的王者, Selenium+PhantomJS 的话效率惨不忍睹,但是十分方便,多线程呗~
    tumb8r
        11
    tumb8r  
       2016 年 8 月 25 日
    ajax??不返回 json ?
    ericls
        12
    ericls  
       2016 年 8 月 25 日 via iPhone
    直接爬接口不是更方便 直接 parse json
    pncltp
        13
    pncltp  
       2016 年 8 月 26 日 via iPhone
    爬虫请用 scrapy 今天都说第二遍了。
    WildCat
        14
    WildCat  
       2016 年 8 月 26 日
    @liangmishi nightmare 完爆 phantomjs
    csy123
        15
    csy123  
       2016 年 8 月 26 日
    @pncltp scrapy 能爬全 js 的网站?
    pncltp
        16
    pncltp  
       2016 年 8 月 26 日 via iPhone
    @csy123 这个 js 没有关系啊, http 无非就 get 和 post 。如果你说的是 json ,解析他的库实在太多。
    killerv
        17
    killerv  
       2016 年 8 月 26 日
    这种调接口的更好爬吧,你要是解析页面当然是没有数据……
    liangmishi
        18
    liangmishi  
    OP
       2016 年 8 月 26 日
    @holajamc 多线程的话也是内存可能会不够,所以这代价还是蛮大的

    @pncltp 这和用不用 scrapy 没关系吧?

    @tumb8r
    @ericls 如果有接口当然是用接口方便,有时候没有
    holajamc
        19
    holajamc  
       2016 年 8 月 26 日 via Android
    不会太占内存,毕竟 Headless , 10 个线程绝对能够应付
    ericls
        20
    ericls  
       2016 年 8 月 26 日
    @liangmishi 如果没有接口那数据哪里来的
    liangmishi
        21
    liangmishi  
    OP
       2016 年 8 月 26 日
    @holajamc 改天试试~谢谢

    @ericls 假如有这样一个场景,我所访问的网页是返回了一段 js 代码,只有执行了这段代码才能知道跳转到哪里,那这时候只能去执行 js 代码了
    ericls
        22
    ericls  
       2016 年 8 月 26 日
    @liangmishi 你也可以翻译这段代码
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3708 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:08 · PVG 13:08 · LAX 21:08 · JFK 00:08
    ♥ Do have faith in what you're doing.