V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
bluestonemds
V2EX  ›  问与答

电视猫的电视节目单页面抓取不全

  •  
  •   bluestonemds · 2016-01-25 22:25:46 +08:00 · 2786 次点击
    这是一个创建于 3013 天前的主题,其中的信息可能已经有所发展或是发生改变。

    网址: http://www.tvmao.com/program/CCTV-CCTV2-w1.html
    需抓取的元素内容:<ul id="pgrow"></ul>中的全部内容。
    抓取工具: php 的 file_get_contents 函数。

    问题:只能抓取到<li id="noon">午间节目</li>,后面的内容就没有了。

    请问这是什么情况吗?如何解决?感谢。

    4 条回复    2016-01-26 15:59:18 +08:00
    bluestonemds
        1
    bluestonemds  
    OP
       2016-01-25 22:30:06 +08:00
    dom 树中有内容,源码中没有。
    blueset
        2
    blueset  
       2016-01-25 23:34:51 +08:00
    这个是通过其他请求的 API 读取出来的。
    bluestonemds
        3
    bluestonemds  
    OP
       2016-01-26 09:30:18 +08:00
    那么请问就没有办法了吗?
    bdbai
        4
    bdbai  
       2016-01-26 15:59:18 +08:00
    我以为是 **只** 抓取到午间节目呢,废了好大劲抓前面的。后面简单分析了一下,它是在页面加载完成后执行了一个 AJAX 请求(见 IIFE.js ),请求的参数是经过加密的,算法见 encrypt.js 。你把那个算法转换成 PHP 再发请求,应该就能得到结果了。

    https://gist.github.com/bdbai/791467fd6d56b5718886
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3691 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:25 · PVG 18:25 · LAX 03:25 · JFK 06:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.