PHP CURL для захвата конкретного HTML - PullRequest
0 голосов
/ 09 декабря 2010

Я использую этот PHP:

<?php

$curl_handle=curl_init();
curl_setopt($curl_handle,CURLOPT_URL,'http://www.notrly.com/jackbauer/');
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);

if (empty($buffer))
{
    print "Not today";
}
else
{
    print $buffer;
}
?>

В источнике есть тег p с классом "fact", который я хочу извлечь и отобразить! Как мне это сделать? Кроме того, это против авторского права, если я использую это, чтобы захватить кого-то другого HTML с их сайта?

Ответы [ 3 ]

2 голосов
/ 09 декабря 2010

Если вы хотите использовать cURL, загрузите страницу и используйте DOM-парсер, например:

http://simplehtmldom.sourceforge.net/

Или вы можете просто сделать что-то вроде этого:

include_once('simple_html_dom.php');

$dom = file_get_html('http://www.notrly.com/jackbauer/');

foreach($dom->find("div.head div.fact p.fact") as $element)
    die($element->innertext);
0 голосов
/ 09 декабря 2010

Я бы проверил парсеры HTML, упомянутые в ответе на этот вопрос . Что касается вопросов авторского права, я думаю, что это будет зависеть от многих факторов, в том числе:

  • Что вы делаете с контентом
  • Какую часть контента вы используете
  • Какое авторское право на сайт вы скребут
0 голосов
/ 09 декабря 2010

Взгляните на strpos для поиска в строках ...

if (strpos($buffer, '<p class="fact">') !== FALSE) {
  print "Yay";
}
...