Как-то давно нужно было получить html страницу и вытащить оттуда определенные данные. В общем нужно было пропарсить html страницу. Буквально вчера наткнулся на эту маленькую библиотеку и решил запостить чтобы не потерялась, так как достаточно удобная. Пример по катом :)
[source language=’php’]
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&from=&login=user_name&passw='pass'&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 «
", print_r($item)."
«;
?>
[/source]
Выбираем по имени тега и классу DOM элемента, почти как JQuery :)
simple_html_dom.php ))
давно им пользуюсь весчь зачетная
с помошью него парсил market.yandex.ru и http://www.e-katalog.ru/
можно юзать phpquery