Как-то давно нужно было получить 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;from=&amp;amp;amp;login=user_name&amp;amp;amp;passw='pass'&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 :)
simple_html_dom.php ))
давно им пользуюсь весчь зачетная
с помошью него парсил market.yandex.ru и http://www.e-katalog.ru/
можно юзать phpquery