如何使用php抓取网站

如何使用php抓取网站,php,web-scraping,Php,Web Scraping,我使用以下代码获取网站的内容 function get_content($url){ $content = @file_get_contents($url); if( empty($content) ){ $content = get_url_contents($url); } return $content; } function get_url_contents($url){ $crl = curl_init(); $timeou

我使用以下代码获取网站的内容

function get_content($url){
    $content = @file_get_contents($url);
    if( empty($content) ){
      $content = get_url_contents($url);
    }
    return $content;
}

function get_url_contents($url){
    $crl = curl_init();
    $timeout = 90;
    curl_setopt ($crl, CURLOPT_URL,$url);
    curl_setopt ($crl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($crl, CURLOPT_CONNECTTIMEOUT, $timeout);
    $ret = curl_exec($crl);
    curl_close($crl);
    return $ret;
}

$url = "http://www.site.com";
$html = get_content($url);
echo $html;
一切正常,但我需要获取所有div元素、页面标题或所有图像

我该怎么做


谢谢使用HTML解析库。虽然它们中有很多是存在的,但我个人使用过,并且有很好的经验。它使用JQuery样式选择器,使其易于学习

一些代码示例:

要获取页面标题,请执行以下操作:

$html = str_get_html($html);
$title = $html->find('title',0);
echo $title->plaintext;
对于所有div元素:

$html = str_get_html($html);
$divs = $html->find('div');

foreach($divs as $div) {
   // do something;
}

使用HTML解析库。虽然它们中有很多是存在的,但我个人使用过,并且有很好的经验。它使用JQuery样式选择器,使其易于学习

一些代码示例:

要获取页面标题,请执行以下操作:

$html = str_get_html($html);
$title = $html->find('title',0);
echo $title->plaintext;
对于所有div元素:

$html = str_get_html($html);
$divs = $html->find('div');

foreach($divs as $div) {
   // do something;
}
你可以用

例如:

你可以用

例如: