这张图 是火狐中F12看到的数据。
右键 查看源代码 里面找不到商品相关的数据php获取dom模型,也找不到商品相关的数据
右键源码,找到js引入文件,发现这个链接应该与商品数据有关,但是这个链接点不进去,我就把地址复制下来了 直接在浏览器访问 出现下图
访问这个js提示了一个新的地址,于是我又复制新地址在浏览器打开,出现了js压缩后的代码。我想请教一下各位大哥大姐,通过这种办法显示的数据,我有办法抓取到吗?
希望各位指点一二,问了好多人了都没有办法,只能求助最大的CSDN了

解决方案 »

  1.   

    连原始的 url 都不给?
      

  2.   

    http://www.1yyg.com/list/i100b59.html
    需要在程序中获取这里面的商品名称和商品图片链接哦
      

  3.   

    <?php
    // 创建一个新cURL资源
    $ch = curl_init();// 设置URL和相应的选项
    curl_setopt($ch, CURLOPT_URL, "http://skin.1yyg.com/JS/GoodsListFun.js?date=20141020");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// 抓取URL并把它传递给浏览器
    curl_exec($ch);
    $contents = curl_multi_getcontent($ch);// 关闭cURL资源,并且释放系统资源
    curl_close($ch);echo $contents;
    ?>
      

  4.   

    这种js数据有2种获取方法
    一个是直接抓取页面,并在页面底部添加js代码,将浏览器渲染好的产品数据打包发给服务器,当然页面引入的相对地址要改成绝对地址,涉及跨域问题也比较多
    更好的就是跟踪流程直接找到数据来源地址,然后用正则匹配
      

  5.   

      上面的代码 我试了,不管用。我用phpQuery抓取下来的老乱码,正在解决乱码问题。如果搞不定就试试这个《页面底部添加js代码,将浏览器渲染好的产品数据打包发给服务器》
      

  6.   

    放弃php,用nodejs
      

  7.   

    js动态加载,是通过ajax方式吗?那就用firefox找到网络通信的http请求地址,获取数据源
      

  8.   

    我想知道你们怎么解决了,不想通过selenium这些
      

  9.   

    其实使用浏览器右键“另存为”,选择类型为“网页,全部”就可以得到一个html页面,里面就包含了所需要的数据,这对我们来说有什么用呢
      

  10.   

    刚学采集,百度的时候看到了这个,不知道对你有没有用
    这个是链接地址:http://www.zjmainstay.cn/php-curl
      

  11.   

    为什么不用phpquery