Парсер сайта

Увидев на просторах интернета парсер (parser) новостей яндекса решил проделать тоже самое, но с Google.

Итак, сегодня мы напишем парсер новостей google.ru на php, программу (скрипт), которая будет извлекать контент с удаленного сайта и выводить на нашей странице. Мы будем использовать новости с текстовой версии новостей, так как там менее захламлен код. Идем по ссылке http://news.google.ru/news?ned=tru_ru&rec=0 и анализируем HTML-код. Находим в нем уникальные строки, по которым мы определим – ОТ какого участка кода и ДО какого мы будем отбирать нужный нам контент.

Находим в коде такой текст: “

” – пусть это будет начало блока… и текст ‘


’ (тег разделительной линии), которым наш новостной блок заканчивается.

$content = file_get_contents('http://news.google.ru/news?ned=tru_ru&rec=0');// Определяем позицию строки, с которой мы будем копировать код. Функция strpos.
$pos = strpos($content, '

');// Присваиваем переменной $content скопированный с помощью substr код, начиная с позиции $pos.
$content = substr($content, $pos);// Находим позицию второй строки
$pos = strpos($content, '


');// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);// Чтобы не подгружать изображения, я удаляю теги $content = str_replace('', '', $content);// выводим полученный код.
echo $content;
?>

]]>

Добавить в закладки

]]>

Теги: ,

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

  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. ]]> ]]> сказал:
    ноября 19, 2009 в 20:38

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  12. ]]> ]]> сказал:
    мая 26, 2010 в 21:19

    preg_match_all( ‘|(.*)|sUS’, $content, $news );
    print_r( $news); – принт р выведет просто количество совпадений.
    если прег матч то нужно разобрать на массив и там по полочкам выводить данные.

    проще парсить рсс, simple_xml в помощь

  13. ]]> ]]> сказал:
    мая 30, 2010 в 11:11

    Не люблю регулярки, лучше просто stros и substr

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