Парсер сайта

Google News парсерУвидев на просторах интернета парсер (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 Сто закладок

]]>

Теги: ,

11 комментариев по “Парсер сайта”

  1. ]]>none]]> сказал:
    июля 12, 2009 в 22:49

    Нууу… можно ж парсить RSS, это уже более универсально, все ж новостные сайт имеют rss

  2. ]]>Игорь]]> сказал:
    августа 15, 2009 в 17:52

    скопировал код один в один.. не работет

  3. ]]>Nira_S]]> сказал:
    ноября 6, 2009 в 01:29

    А по мне так то что нужно. Представьте себе на тех сайтах, откуда мне нужны новости, нет rss!

  4. ]]>Миха]]> сказал:
    ноября 6, 2009 в 03:54

    отличный парсер, это наверно самый простой парсер котопый я встречал за последние двое суток, спасибо за урок

  5. ]]>modlen]]> сказал:
    ноября 19, 2009 в 20:38

    Чёт я не понял, как его запустить?! Можно поподробнее, ПЛИЗ!!!!

  6. ]]>Admin]]> сказал:
    ноября 19, 2009 в 22:48

    modlen,
    это PHP скрипт

  7. ]]>modlen]]> сказал:
    ноября 20, 2009 в 13:55

    т.е. в файле допустим index.php, вставляем ????

  8. ]]>modlen]]> сказал:
    ноября 20, 2009 в 13:57

    мля!!! прошу удалить предыдущий комент, т.е. вставляем include(‘допустим файл parser.php’>

  9. ]]>Admin]]> сказал:
    ноября 20, 2009 в 20:33

    просто кидаешь этот код допустим в index.php и вызваешь его в браузере

  10. ]]>АРТЕМ]]> сказал:
    января 20, 2010 в 05:54

    ДЛЯ НАЧИНАЮЩИХ ОЧЕНЬ КЛАССНО НАПИСАНО!

  11. ]]>brvman]]> сказал:
    февраля 16, 2010 в 07:44

    В данном случае лучше использовать регулярные выражения, как пример:

    $content= file_get_html(‘http://www.google.com/’);
    $news = array();
    preg_match_all( ‘|(.*)|sUS’, $content, $news );
    print_r( $news);

Оставьте комментарий: