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

Я сомневаюсь что вы будете использовать данный парсер, вы сделаете наиболее универсальный граббер который будет грабить практически с любого сайта, с RSS лент и т.д. Если же вы хотите наиболее лучших уроков заходите на сайт «Уроки по PHP, HTML, CSS»

Спрограммируем парсер новостей google.ru на php, который будет «грабить» контент с news.google.ru и выводить на нашей странице. Идем по ссылке 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;

?>

Код с комментариями поэтому это не должно вызывать никаких затруднений по данному уроку. Помние, что данный урок пища для ума.

Оригинал урока " Создание парсера новостей с сайта google "

Tags: , , , , , , , ,

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>