RSS

Нам повезло жить в уникальное время интенсивного развития интернет-технологий. Мы видели триумфальный взлет и падение доткомов, а теперь на наших глазах рождается WEB 2.0. Если вам это интересно, если вы проводите за компьютером значительную часть жизни и вам это нравится, оставайтесь с нами на форуме для миллионеров-техноманьяков, практиков интернет-бизнеса и других умных людей. Вливайтесь :)

  • Вы не зашли.

Парсим рейтинг Яндекса

06.01.2008 01:21
BrokenBrake
беда
Рег. 01.08.2007
Сообщений: 529
Профиль  Сайт

Сегодня ради эксперимента минут за 15 сделал и протестировал робоблог, который собирает в себя самые популярные записи из ЖЖ по версии Яндекса. При этом мы парсим обычную html-страничку рейтинга, вытаскиваем из неё нужные ссылки, идём по этим ссылкам и тянем уже полные тексты записей.

На то, чтобы показать вам это и рассказать уйдет явно больше времени, чем ушло на создание трубы :) Итак, начинается всё с рейтинга Яндекса. Как из этой странички быстро сделать робоблог? Нам понадобится новый модуль в Yahoo Pipes, который называется Fetch Page.

Самые сообразительные всё поймут из картинки (кликабельно)...

http://turan4oks.googlepages.com/yandexparse-small.png

Ну а остальным я объясню более детально. Давайте рассмотрим каждый модуль отдельно, двигаясь по трубе сверху вниз... Полная версия записи - «Живой журнал (ЖЖ), Яндекс и Yahoo Pipes».

 
Сегодня
Рекламный чёртик
любит гостей
07.01.2008 12:32
Р_Джинс
альфа
Рег. 07.01.2008
Сообщений: 23
Профиль  Сайт
BrokenBrake пишет:

Ну а остальным я объясню более детально. «Живой журнал (ЖЖ), Яндекс и Yahoo Pipes».

Объясни пожалуйста, что означает в модуле Regex каждый из чекбоксов: g, s, m, i; а то что-то нигде не увидел про это....

 
08.01.2008 08:38
JawsIk
блогофермер
Рег. 16.12.2007
Сообщений: 24
Профиль

Пытаюсь разобраться! Голова уже пухнет. Вроде бы осилил. Прошу Брокена просто сказать, я правильно понимаю или нет:

1. Fetch Page: Парсим страничку яндыкса и создаём списочек.
2. Regex: Из всего что есть выдёргиваем линки, чтобы были чисто линки
3. Filter: Чтобы линки были только с ЖЖ
4. Делим на два потока (1пот и 2пот)
5. Переименовываем content в link
6. Regex: 1пот с конца записи нажодим /(слеш) и всё что было за ним заменяем на "data/rss"
7. Loop(+Fetch Feed): загоняя в луп весь обновлённый 1пот выдераем абсолютно все записи. Получается их херова туча (>500)
8. Union: соединяем 1пот и 2пот.
9. Unique: Уникализируем записи по link-у (при этом я так думаю, что это самый важный элемент во всей трубе, т.к. при уникализации в записях появляется "y.repeatcount: 2", т.е. типа в прошлом записей с таким урлом было две). Естественно в остальных записях такого параметра просто не появится.
10. Filter: оставить только записи, где есть параметр "y.repeatcount: 2"
11. Pipe Output: Получите вкусненькое.

Я правильно это оценил или я что-то пропустил. Или что-то не так было?

 
08.01.2008 18:00
BrokenBrake
беда
Рег. 01.08.2007
Сообщений: 529
Профиль  Сайт

Ешкин кот, а в блоге подробное описание почитать? Реверс-инжиниринг какой-то затеял, и написал почти то же самое :)
Ты отмечай каждый модуль и анализируй, что откуда и зачем.

 
Rambler's Top100

Прошла зима, настало лето -
Спасибо PunBB за это...

В банке на данный момент $60.019.