【问题标题】:Parsing unloaded HTML with PHP使用 PHP 解析卸载的 HTML
【发布时间】:2018-01-23 09:27:06
【问题描述】:

所以我试图从一个网站解析 HTMl,但我得到的只是菜单,因为 body 有一个预加载器。链接是 NSFW,所以我为它们添加了通配符。我的问题是如何解析整个页面而不仅仅是菜单?创建超时似乎没有帮助(或者我做错了超时)。

<?php
    $ctx = stream_context_create(array( 
        'http' => array( 
            'timeout' => 50
            ) 
        ) 
    ); 
    $stars_list_page = file_get_contents("https://www.por*pics.com/?q=blue+angel", 0, $ctx); 

        $dom_obj = new DOMDocument();
        @$dom_obj->loadHTML($stars_list_page);
        var_dump($dom_obj);


    ?>

【问题讨论】:

    标签: php html html-parsing


    【解决方案1】:

    您只有菜单,因为其他所有内容都由 js 加载。这并不简单,但您可以尝试在服务器端执行 js,如下所述: Execute javascript in PHP 但是js加载可能会受到域限制,所以可能没有帮助。

    【讨论】:

      【解决方案2】:

      6 个月后,我意识到自己是多么粗鲁,并且在找到解决方案后没有为未来的访客回答我自己的问题。

      我在开发者工具中打开网络选项卡,在 XHR 下我发现 URL 服务器正在请求加载更多数据。

      如果您在重新创建请求时遇到问题,请试试这个很棒的工具,它适用于更多语言: https://curl.trillworks.com/

      【讨论】:

        猜你喜欢
        • 2011-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-23
        • 2011-07-07
        • 2011-06-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多