【问题标题】:Web scraping for dynamic content网页抓取动态内容
【发布时间】:2019-01-13 23:08:49
【问题描述】:

我正在尝试从几个站点(mega.nz、openlaod.co)抓取信息,并且内容是动态加载的,因此我实际使用的代码不起作用

 <?php

    require 'simple_html_dom.php';

    $ch = curl_init();
    curl_setopt($ch,  CURLOPT_URL,"https://openload.co/f/41I9Ak_QBxw/DPLA.mp4");
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

    $response = curl_exec($ch);
    curl_close($ch);

    echo $response;
    $html = new simple_html_dom();
    $html->load($response);


    foreach ($html->find('img[id=imagedisplay]') as $key ) {
        echo $key;
    }



?> 

当我在 openload 上使用它时(如上面的示例),它会将我重定向到“https://oload.download/scraping/”,即“/scraping”我的脚本所在的文件夹。

是否有任何 javascript/jquery 框架(或 php)可以用来即时抓取内容??

【问题讨论】:

    标签: javascript php frameworks screen-scraping scraper


    【解决方案1】:

    它不适合大量的抓取,但过去当我需要从动态网页中抓取一些基本数据时,我发现 Selenium 工作得很好。

    根据您选择的堆栈,我建议您研究无头浏览器。这样您就可以在后台渲染页面并解析生成的 HTML。

    【讨论】:

    • 有没有获取网站的例子?我以前从未使用过硒。例如获取此文件的大小。 mega.nz/#!bPgFDbAa!ND3F-bwTE6sVW1kERnVpOkIAacp4-yxAggLUbkbdnDY
    • 我没有代码示例,但是 Selenium 的主要作用是让您能够访问给定页面的 DOM,这意味着如果您可以找到该元素你想刮你可以写一个脚本来获取价值。如果您在编码方面遇到困难,我推荐用于 Firefox/Chrome 的 Selenium IDE。由于您使用的是 PHP,这也可能会有所帮助。 stackoverflow.com/questions/16231984/…
    猜你喜欢
    • 2020-05-24
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    • 1970-01-01
    • 2023-01-29
    • 1970-01-01
    • 2014-05-08
    • 1970-01-01
    相关资源
    最近更新 更多