Парсер сайта
Категория PHP
Увидев на просторах интернета парсер (parser) новостей яндекса решил проделать тоже самое, но с Google.
Итак, сегодня мы напишем парсер новостей google.ru на php, программу (скрипт), которая будет извлекать контент с удаленного сайта и выводить на нашей странице. Мы будем использовать новости с текстовой версии новостей, так как там менее захламлен код. Идем по ссылке http://news.google.ru/news?ned=tru_ru&rec=0 и анализируем HTML-код. Находим в нем уникальные строки, по которым мы определим – ОТ какого участка кода и ДО какого мы будем отбирать нужный нам контент.
Находим в коде такой текст: “<table border=0 align=right cellspacing=0 cellpadding=0>” – пусть это будет начало блока… и текст ‘<br><br><br clear=all>’ (тег разделительной линии), которым наш новостной блок заканчивается.
<?php// Получаем HTML-код страницы новостей с помощью file_get_contents
$content = file_get_contents('http://news.google.ru/news?ned=tru_ru&rec=0');// Определяем позицию строки, с которой мы будем копировать код. Функция strpos.
$pos = strpos($content, '<table border=0 align=right cellspacing=0 cellpadding=0>');// Присваиваем переменной $content скопированный с помощью substr код, начиная с позиции $pos.
$content = substr($content, $pos);// Находим позицию второй строки
$pos = strpos($content, '<br><br><br clear=all>');// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);// Чтобы не подгружать изображения, я удаляю теги <img с помощью str_replace (просто заменяю на пустоту).
$content = str_replace('<img src=/images/cleardot.gif width=1 height=2>', '', $content);// выводим полученный код.
echo $content;
?>
Добавить в закладки
Memori
БобрДобр
Google
Яндекс
Твиттер
del.icio.us
Мистер Вонг
МоёМесто
MyScoop
RuSpace
Сто закладок
Теги: google, программирование
11 комментариев по “Парсер сайта”
-
]]>none]]> сказал:
июля 12, 2009 в 22:49Нууу… можно ж парсить RSS, это уже более универсально, все ж новостные сайт имеют rss
-
]]>Игорь]]> сказал:
августа 15, 2009 в 17:52скопировал код один в один.. не работет
-
]]>Nira_S]]> сказал:
ноября 6, 2009 в 01:29А по мне так то что нужно. Представьте себе на тех сайтах, откуда мне нужны новости, нет rss!
-
]]>Миха]]> сказал:
ноября 6, 2009 в 03:54отличный парсер, это наверно самый простой парсер котопый я встречал за последние двое суток, спасибо за урок
-
]]>modlen]]> сказал:
ноября 19, 2009 в 20:38Чёт я не понял, как его запустить?! Можно поподробнее, ПЛИЗ!!!!
-
]]>Admin]]> сказал:
ноября 19, 2009 в 22:48modlen,
это PHP скрипт -
]]>modlen]]> сказал:
ноября 20, 2009 в 13:55т.е. в файле допустим index.php, вставляем ????
-
]]>modlen]]> сказал:
ноября 20, 2009 в 13:57мля!!! прошу удалить предыдущий комент, т.е. вставляем include(‘допустим файл parser.php’>
-
]]>Admin]]> сказал:
ноября 20, 2009 в 20:33просто кидаешь этот код допустим в index.php и вызваешь его в браузере
-
]]>АРТЕМ]]> сказал:
января 20, 2010 в 05:54ДЛЯ НАЧИНАЮЩИХ ОЧЕНЬ КЛАССНО НАПИСАНО!
-
]]>brvman]]> сказал:
февраля 16, 2010 в 07:44В данном случае лучше использовать регулярные выражения, как пример:
$content= file_get_html(‘http://www.google.com/’);
$news = array();
preg_match_all( ‘|(.*)|sUS’, $content, $news );
print_r( $news);
Оставьте комментарий: