Как вы делаете парсер (скрипт, который выдёргивает некую информацию с некой страницы)? Вставляете кучу strpos, preg_match и прочее "прицеливание"?
Предлагаю вашему вниманию абсолютно другой способ: Simple HTML DOM Parser - скрипт, который позволяет работать с DOM документа, а конекретнее, использовать css-селекторы для поиска нужных элементов.
Маленький пример:
<?php // загружаем библиотеку require './simplehtmldom/simple_html_dom.php'; // будем парсить гугл :) $d = file_get_html ( 'http://www.google.com/search?hl=en&q=%D1%8B%D1%80%D0%BE%D0%BB%D0%B2%D0%B0&aq=f&oq=&aqi=' ); // селектор результатов foreach($d->find('li.g') as $snippet) { $r = array(); $r['link'] = $snippet->find( 'h3.r a', 0 )->href; // ссылка $r['title'] = $snippet->find( 'h3.r', 0 )->plaintext; // заголовок // убираем лишнее $snippet->find( 'div.s cite', 0 )->innertext = ''; $snippet->find( 'div.s span', 0 )->innertext = ''; $r['snippet'] = $snippet->find( 'div.s', 0 )->plaintext; // сниппет $rez[] = $r; } // показываем.. print_r( $rez );
Вот так легко и элегантно можно парсить сниппеты гугла :) Кстати, библиотеку лучше качать из транка svn - там версия выше + мануал обширнее.
Выше круто! Долго искал такую библиотеку ! Спасибо!! Буду пробовал.
ОтветитьУдалить