Перейти к тексту

Если Вы еще не зарегистрировались в системе IBM Registration, то мы приносим извинения за неудобство и просим Вас выполнить это действие. Зарегистрироваться сейчас

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент. Ваше имя, фамилия, а также Отображаемое имя будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Вся введенная информация защищена.

При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

Вся введенная информация защищена.

Создание заказного содержимого при помощи Yahoo Pipes

Объединение фидов и переделка их по вашему вкусу

Джефф К. Уилсон, разработчик программного обеспечения для ведения электронного бизнеса, EMC
No bio.

Описание:  Узнайте о преимуществах использования фильтрации фидов (feeds), аналогичной Yahoo Pipes, для улучшения сбора, объединения и изменения данных из различных источников. В данном руководстве рассмотрены некоторые технические приемы преобразования фидов. В руководство включено три демонстрационных примера использования ключевых возможностей среды.

Дата:  16.01.2008
Уровень сложности:  простой

Комментарии:  

Демонстрационный пример 3: Фид агента Craigslist

В третьем демонстрационном примере описывается наложение каналов данных - по существу, процесс создания нового компонента Source, аналогичного тому, который приведен в демонстрационном примере #1 с компонентом Google Base. Этот пример использует два отдельных канала данных, каждый из которых можно выполнять независимо, но здесь они будут использоваться совместно.

Целью комбинирования этих каналов является поиск соответствий товаров, продаваемых на Craigslist.org, требуемым позициям, указываемым пользователями. Сначала с сайта передается список требуемых позиций. Затем для каждой позиции выполняется второй запрос для поиска продажи этого товара. Все элементы, найденные для продажи, добавляются как дочерний узел к элементу wanted record.

Этот демонстрационный пример создан из двух каналов данных (один встроен в другой). Первый поток выполняет простой поиск на Craigslist, используя определенное поисковое выражение, и генерирует RSS-фид продаваемых товаров. Это - вложенный канал данных.

Второй канал данных направляет все требуемые позиции с Craigslist.org. Затем он определяет действительные желаемые позиции при помощи специального компонента Content Analysis. Это важно для извлечения коротких терминов из потенциально длинных описаний. Термин "желаемой позиции" сохраняется в виде атрибута и передается в первый канал "товары на продажу" как динамическая входная информация. Это приводит к формированию списка "товаров на продажу", основанного на предоставленной "желаемой позиции", и записи этого списка с желаемой позицией.

Результатом является список позиций, желаемых пользователями Craigslist, хранящий ссылки на сообщения об этих позициях или аналогичных товарах на продажу. Обратите внимание на то, что если вы пропустите этот канал данных через Yahoo Pipes, соответствующие товары "на продажу" не отображаются, даже несмотря на то, что они содержатся в RSS-фиде. Причина этого заключается в ограничении на отображаемую информацию, что не дает вам выбирать, какие части элементов в фиде отображать (потолкайтесь на форумах Pipes и увидите пользователей, просящих большей гибкости в данной области). Однако, если вы разработчик фида и передаете потоки в ваши собственные приложения, можете выполнять навигацию и отображать любые желаемые части фида. Следовательно, этот пример может быть использован в очень специализированных приложениях.

  1. Перейдите по URL http://pipes.yahoo.com/pipes/pipe.info?_id=5ldWJJHY2xGrYNryqGIyXQ и введите table в поле Query, как показано на рисунке 32.

    Рисунок 32. Мой канал данных, запрашивающий Craigslist
    Рисунок 32. Мой канал данных, запрашивающий Craigslist

  2. Получаемый список будет отображать все столы, выставленные на продажу на Craigslist.
  3. Теперь перейдите по URL http://pipes.yahoo.com/pipes/pipe.info?_id=hk7ADojO2xGdmQTulPXiAA. Отобразятся только товары, желаемые на Craigslist. Вы можете перейти отсюда в оба канала данных в редакторе, чтобы посмотреть, как они были созданы.

Ключевые моменты

Главное в этом примере - использование еще одного канала данных, встроенного в структурную схему процесса. На рисунке 33 можно увидеть основной поисковый канал данных Craigslist, использующийся для передачи фида для каждого элемента в первом канале. Хранящийся с оригинальным элементом атрибут используется для передачи во второй поисковый канал данных. Получаемый вторичный список сохраняется в качестве атрибута supplies в данном случае. Теперь приложение, использующее окончательный поток, может отобразить родительский список RSS-элементов с дополнительными ссылками, найденными в узле supplies каждого элемента. Стандартный RSS-вид не увидит этот дополнительный список ссылок, но специализированное приложение не будет иметь проблем с использованием этого фида.


Рисунок 33. Мой канал данных, запрашивающий Craigslist
Рисунок 33. Мой канал данных, запрашивающий Craigslist

6 из 9 | предыдущая | следующая

Комментарии



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=XML
ArticleID=282212
TutorialTitle=Создание заказного содержимого при помощи Yahoo Pipes
publish-date=01162008
author1-email=wilsonje@us.ibm.com
author1-email-cc=wilsonje@us.ibm.com

Теги

Help
Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Используйте ползунок, чтобы отразить больше или меньше тегов.

КнопкаПопулярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere).

Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).

Используйте форму поиска, чтобы найти любой контент с данным тегом в My developerWorks. Кнопка Популярные теги отображает самые распространенные теги для данной области контента (например: Java, Linux, WebSphere). Кнопка Мои теги отображает Ваши теги для данной области контента (например: Java, Linux, WebSphere).