【问题标题】:PHP Simple HTML DOM Parser Long loading websitePHP Simple HTML DOM Parser 长加载网站
【发布时间】:2014-09-04 09:03:45
【问题描述】:

我正在做一个项目,但我对一件事有疑问。 由于数据量大,我要进行屏幕抓取的网页的加载时间约为 5-10 秒。

当我尝试使用 PHP Simple HTML DOM Parser 进行屏幕抓取时,我没有得到任何结果。 屏幕为空白。我使用的所有元素都可以,因为当我从同一网站进入另一个页面时,该页面在几行起始行中具有完全相同的代码,一切正常。

是否有机会等待网站完成加载然后屏幕抓取。

谢谢

我的代码是:

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
</head>
<body>
<?php
error_reporting(0);

include_once('../../simple_html_dom.php');

function scraping_slashdot() {
    // create HTML DOM
    $html = file_get_html('http://www.examplepage.com/');

    // get article block
    foreach($html->find('div[id="rightBlock"]') as $article) {
        // get title1
        $item['title1'] = $article->find('div.[class="inputHead"]', 0)->plaintext;

        $ret[] = $item;
    }


    // clean up memory
    $html->clear();
    unset($html);

    return $ret;
}

// -----------------------------------------------------------------------------
//output
$ret = scraping_slashdot();

foreach($ret as $v) {

    echo $v['title1'];

}
?>
</body>
</html>

【问题讨论】:

  • 在发布新问题之前检查其他类似问题...即:stackoverflow.com/q/7620955/1519058
  • 我检查了但没有解决我的问题。是否可以添加 sleep();在代码的某个地方?我正在尝试几种组合,但无法使其发挥作用。
  • 尝试增加MAX_FILE_SIZE,如果还是不行,尝试用curl代替这个例子中的chown:stackoverflow.com/a/21186309/1519058
  • @Rhck,你解决了这个问题吗?

标签: php html parsing dom simple-html-dom


【解决方案1】:

您是否尝试过使用 jquery?页面加载完成后,您可以通过添加:

$(document).ready()

【讨论】:

  • 没有。我是新手,不知道该怎么做。你能给我上面代码的例子吗?
  • 谷歌搜索后,我发现这个教程可以帮助code.tutsplus.com/tutorials/…
  • 这是一个 php 问题而不是一个 js 问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
  • 2019-09-21
  • 1970-01-01
  • 2016-05-23
相关资源
最近更新 更多