Нам повезло жить в уникальное время интенсивного развития интернет-технологий. Мы видели триумфальный взлет и падение доткомов, а теперь на наших глазах рождается WEB 2.0. Если вам это интересно, если вы проводите за компьютером значительную часть жизни и вам это нравится, оставайтесь с нами на форуме для миллионеров-техноманьяков, практиков интернет-бизнеса и других умных людей. Вливайтесь :)
Сегодня ради эксперимента минут за 15 сделал и протестировал робоблог, который собирает в себя самые популярные записи из ЖЖ по версии Яндекса. При этом мы парсим обычную html-страничку рейтинга, вытаскиваем из неё нужные ссылки, идём по этим ссылкам и тянем уже полные тексты записей.
На то, чтобы показать вам это и рассказать уйдет явно больше времени, чем ушло на создание трубы :) Итак, начинается всё с рейтинга Яндекса. Как из этой странички быстро сделать робоблог? Нам понадобится новый модуль в Yahoo Pipes, который называется Fetch Page.
Самые сообразительные всё поймут из картинки (кликабельно)...
Ну а остальным я объясню более детально. Давайте рассмотрим каждый модуль отдельно, двигаясь по трубе сверху вниз... Полная версия записи - «Живой журнал (ЖЖ), Яндекс и Yahoo Pipes».
BrokenBrake пишет:Ну а остальным я объясню более детально. «Живой журнал (ЖЖ), Яндекс и Yahoo Pipes».
Объясни пожалуйста, что означает в модуле Regex каждый из чекбоксов: g, s, m, i; а то что-то нигде не увидел про это....
Пытаюсь разобраться! Голова уже пухнет. Вроде бы осилил. Прошу Брокена просто сказать, я правильно понимаю или нет:
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: Получите вкусненькое.
Я правильно это оценил или я что-то пропустил. Или что-то не так было?
Ешкин кот, а в блоге подробное описание почитать? Реверс-инжиниринг какой-то затеял, и написал почти то же самое :)
Ты отмечай каждый модуль и анализируй, что откуда и зачем.