Удобный html парсер, и чуть курла

HTML_Parser Как-то давно нужно было получить html страницу и вытащить оттуда определенные данные. В общем нужно было пропарсить html страницу. Буквально вчера наткнулся на эту маленькую библиотеку и решил запостить чтобы не потерялась, так как достаточно удобная. Пример  по катом :)

<?
include_once ($_SERVER["DOCUMENT_ROOT"]."/rem/simple_html_dom.php");
$strUri="http://id.rambler.ru/script/auth.cgi?mode=login";
$ch = curl_init();
$user_cookie_file = '/cookies.txt';
curl_setopt($ch, CURLOPT_URL, $strUri);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "back=http://mail.rambler.ru/mail/contacts.cgi?r=ed64&amp;amp;amp;amp;from=&amp;amp;amp;amp;login=user_name&amp;amp;amp;amp;passw='pass'&amp;amp;amp;amp;url=");
curl_setopt($ch, CURLOPT_REFERER, "http://id.rambler.ru/script/auth.cgi?mode=login");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6");
curl_setopt($ch, CURLOPT_COOKIEFILE, $user_cookie_file);
curl_setopt($ch, CURLOPT_COOKIEJAR,  $user_cookie_file);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$strQueryText = curl_exec($ch);
curl_close($ch);
$html = str_get_html($strQueryText);
foreach($html -> find('tr.vcard') as $article)
{
$item[] = array(
"mail" => $article->find('a.email', 0) -> plaintext,
"name" => utf8win1251($article->find('td.fn', 0) -> plaintext));
}
echo "<pre>", print_r($item)."</pre>";

?>

Выбираем по имени тега и классу DOM элемента, почти как JQuery :)

Сам скрипт тут

2 thoughts on “Удобный html парсер, и чуть курла

Comments are closed.