Axurez
V2EX  ›  问与答

怎么用爬虫爬动态需要手动加载部分内容的网页?

  •  
  •   Axurez · Jul 19, 2014 · 4731 views
    This topic created in 4501 days ago, the information mentioned may be changed or developed.
    像百度贴吧、知乎都属于这种。
    百度贴吧,最近好像改成一页只加载一半了。
    知乎的话,评论和个人名片,也是后发送请求获取的。
    像这种页面的爬虫,应该用什么语言怎么写呢?
    10 replies  •  2014-07-19 12:05:46 +08:00
    imn1
    imn1
    Jul 19, 2014
    1
    一样的,抓包ajax请求模拟出来就行
    jings
    jings
    Jul 19, 2014 via Android
    2
    写过一种需要手动向下滚动加载 其实url还是不一样的 需要看一下网页源码 找出区别
    shell应该是最好的脚本语言吧 python五十几行的代码几行shell搞定 如果会perl那更好了 shell无非就wget curl > >> while read awk sed columnt就能很好的抓取了 要多线程就要 screen nohup & perl
    lizheming
    lizheming
    Jul 19, 2014
    3
    PhantomJS, CasperJS
    em70
    em70
    Jul 19, 2014 via Android
    4
    需要分析ajax的数据接口来处理,每个网站都要单独分析,没有一劳永逸的办法
    messagebus
    messagebus
    Jul 19, 2014
    5
    F12 先找出接口地址,然后模拟浏览器读取数据。
    ddzz
    ddzz
    Jul 19, 2014
    6
    怎么就没人说开浏览器采集
    wibile
    wibile
    Jul 19, 2014
    7
    @ddzz 效率低。。。。还是phantomJS靠谱
    azuginnen
    azuginnen
    Jul 19, 2014
    8
    糙快猛selenium ide
    assassinpig
    assassinpig
    Jul 19, 2014
    9
    贴吧的改了?我要回去试试
    konakona
    konakona
    Jul 19, 2014
    10
    需要用逆向思维做逆向工程。
    你看到的是结果,根据结果一层层剥离出真相(源)。

    比如说去哪儿那种动态的列表,会出现2个问题:
    1.找不到分页number存放的html位置
    2.找不到请求下一页url的规则

    必须在js、html甚至是json里进行反复查证。

    动态页面往往是由多个碎片源返回的数据组成。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1017 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 38ms · UTC 22:50 · PVG 06:50 · LAX 14:50 · JFK 17:50
    ♥ Do have faith in what you're doing.