PHP简单的HTML DOM Scrape外部URL

时间:2013-12-09 16:03:12

标签: php simple-html-dom

我正在尝试构建我的个人项目,但是在使用Simple HTML DOM类时我有点卡住了。

我想做的是抓取一个网站并检索所有内容,这是内部HTML,与某个类匹配。

到目前为止我的代码是:

    <?php
    error_reporting(E_ALL);
    include_once("simple_html_dom.php");
    //use curl to get html content
    $url = 'http://www.peopleperhour.com/freelance-seo-jobs';

    $html = file_get_html($url);

    //Get all data inside the <div class="item-list">
    foreach($html->find('div[class=item-list]') as $div) {
    //get all div's inside "item-list"
    foreach($div->find('div') as $d) {
    //get the inner HTML
    $data = $d->outertext;
    }
    }
print_r($data)
    echo "END";
    ?>

我得到的只是一个带有“END”的空白页面,根本没有输出任何内容。

2 个答案:

答案 0 :(得分:1)

似乎您的$ data变量在每次迭代时被赋予不同的值。试试这个:

$data = "";
foreach($html->find('div[class=item-list]') as $div) {
    //get all divs inside "item-list"
    foreach($div->find('div') as $d) {
         //get the inner HTML
         $data .= $d->outertext;
    }
}
print_r($data)

我希望有所帮助。

答案 1 :(得分:0)

我想,你可能想要这样的东西

$url = 'http://www.peopleperhour.com/freelance-seo-jobs';
$html = file_get_html($url);
foreach ($html->find('div.item-list div.item') as $div) {
    echo $div . '<br />';
};

这会给你这样的东西(如果你添加正确的样式表,它会很好地显示)

enter image description here