Pobieramy tagi przy pomocy curl

Get meta tags, Curl method

Przykład PHP2014-03-07 difficulty: easy

Poniższy przykład pokazuje jak pobrać informacje z nagłówków meta za pomocą CURL


<?
$nurl 
"http://beagle.phpcodex.com/"
;

function 
file_get_content($nurl
)
{
//inicjujemy curl
$ch curl_init
();

//dodajemy opcje
curl_setopt($chCURLOPT_HEADER0
);
curl_setopt($chCURLOPT_RETURNTRANSFER1
);
curl_setopt($chCURLOPT_URL$nurl
);
curl_setopt($chCURLOPT_FOLLOWLOCATION1
);

$data curl_exec($ch
);

curl_close($ch
);

return 
$data
;
}

//pobieramy zawartość całej strony
$html file_get_content($nurl
);

//zmienna $html będzie zawierać wczytaną zawartość strony
//niektóre strony są zabezpieczone przed takim wczytaniem stron
//więc nie wszędzie CURL będzie działać


$doc = new DOMDocument
();
@
$doc->loadHTML($html
);
$nodes $doc->getElementsByTagName('title'
);



//pobieramy zawartość tagów
$title $nodes->item(0)->nodeValue
;

$metas $doc->getElementsByTagName('meta'
);

for (
$i 0$i $metas->length$i
++)
{
    
$meta $metas->item($i
);
    if(
$meta->getAttribute('name') == 'description'
)
        
$description $meta->getAttribute('content'
);
    if(
$meta->getAttribute('name') == 'keywords'
)
        
$keywords $meta->getAttribute('content'
);
}

//mała poprawka kodowania do utf-8
function convertEncoding($str$from 'auto'$to "UTF-8"
) {
    if(
$from == 'auto'$from mb_detect_encoding($str
);
    return 
mb_convert_encoding ($str $to$from
);
}

//celowo wydłużam kod aby go łatwiej było zrozumieć
//można zastosować echo convert_encoding($title)."<br/>";

$title convertEncoding($title
);
$description convertEncoding($description
);
$keywords convertEncoding($keywords
);


//i wyświetlamy
echo $title ."<br/>"
;
echo 
$description."<br/>"
;
echo 
$keywords ."<br/>"
;
?>



 
close
Strona korzysta z plików cookies. Zastosowane pliki cookie służą jedynie do prowadzenia ogólnych statystyk pozwalających na określenie popularności serwisu.