Получить заголовок RSS-канала с помощью YQL - PullRequest
5 голосов
/ 25 мая 2011

Я использую YQL для получения RSS-канала, используя javascript (как json), например, я использую следующий запрос:

select * from rss where url = "http://feeds2.feedburner.com/ajaxian"

Ответ содержит элементы фида, уже проанализированные как json, и пока все круто.

Теперь я также хочу получить заголовок всего канала (а не заголовок определенного элемента) - но это не часть результата (даже если его содержит исходный XML-канал).

Существует возможность запроса самого исходного XML. например:

select channel.title from xml where url = "http://feeds2.feedburner.com/ajaxian"

и он действительно возвращает заголовок канала для этого конкретного RSS, но этот запрос действителен только для форматированных каналов RSS 2.0, который сохраняет его в rss \ channel \ title .
А как насчет каналов Atom, которые хранят заголовок в feed \ title ?
А как насчет других форматов?

У меня вопрос - есть ли какой-нибудь общий способ запросить заголовок канала через YQL? может как-то вместе с самой подачей?

спасибо,

Ответы [ 2 ]

3 голосов
/ 25 мая 2011

Вы можете использовать таблицу feednormalizer для преобразования канала (независимо от его формата) в один из стандартных форматов, а затем получить заголовок из соответствующего узла для этого формата.

Чтобы взять Ajaxianfeed, "нормализуйте" его как Atom и получите заголовок канала, запрос будет выглядеть так:

SELECT title
FROM   feednormalizer
WHERE  output="atom_1.0" AND url="http://feeds2.feedburner.com/ajaxian"

( Попробуйте это в консоли YQL )

0 голосов
/ 25 мая 2011

Есть также другие таблицы, которые вы можете использовать, например feed, rss и atom.

Относительно вашего последующего вопроса о том, как найти таблицы данных:

Перейдите на консоль YQL , убедитесь, что таблицы сообществ загружены (это уже должно быть в случае с этой ссылкой), а затем просто введите в поле поиска справа то, что вы ищете. за. Часто вы можете найти что-то полезное.

...