PubDate / Guid необходим для RSS? Как создать хороший RSS в Yahoo! Трубы, если источник не предоставляет разные даты для элементов? - PullRequest
3 голосов
/ 06 февраля 2009

Я создаю Yahoo! Передайте на новостной сайт , но у источника без подачи нет даты / времени для каждого элемента. Мой RSS не очень хорошо работает: каждое обновление заставляет RSS Reader, например, Google Reader, отмечать все прочитанные элементы как не прочитанные снова. Возможно, это связано с отсутствием тега pubDate или неправильного тега guid.

  1. Как создать "pubDate" на Yahoo! Трубы, когда ваш источник не предоставляет вам данные?

  2. Как избежать перезаписи тега "guid"? (вы можете установить guid в YPipes, но YPipes игнорирует ваш guid)

Решение: pudDate не требуется. Гид необходим. Даже если Yahoo! Трубы переписывают гид, это будет работать, потому что Yahoo! Pipes преобразует текст вашего guid в хеш-значение, которое не изменяется, пока текст не будет изменен.

Ответы [ 8 ]

2 голосов
/ 05 марта 2011

Ну, для дальнейшего использования решение можно найти по этой ссылке . Это также хорошо помогает поставить дату. По сути, он создает узел, копирующий в качестве подузлов все необходимые поля, а затем в конце заменяет родителя этим «клонированным» дочерним элементом.

2 голосов
/ 26 мая 2009

Я думаю, что GUID генерируется из параметра ссылки. Поэтому важно иметь уникальный URL для каждого элемента фида. Если все URL-адреса канала имеют одинаковую ссылку, они будут иметь одинаковый GUID.

Надеюсь, это поможет.

Я изо всех сил пытаюсь создать уникальный URL. Нашли ли вы в любом случае, чтобы достичь этого?

2 голосов
/ 10 февраля 2009

Вы смотрели на Feedity - http://feedity.com - для создания пользовательских RSS-каналов. Это как Pipes, но намного проще в использовании и на самом деле хорошо работает и в Pipes. Некоторое время я использовал его для создания RSS-каналов для этих веб-страниц без канала.

1 голос
/ 18 июня 2009

С помощью Yahoo Pipes, используя модуль «Создать RSS», он использует (хешированную версию) ссылку каждой записи для создания GUID, который, как вы указали, необходим для большинства каналов читатели для обнаружения новых записей.

Я попытался установить для поля GUID модуля «Создать RSS» значение, уникальное для каждой записи, однако GUID в результирующем фиде остается идентичным для каждой записи. Когда я затем установил link на это значение, генерируемые GUID были уникальными для каждой записи.

Я подтвердил это, сделав копию вашего канала и удалив (ну, переименовав) атрибут ссылки, и GUID не генерируется (хотя вы его указали). Это было подтверждено другими как ошибка, см. Tinyurl.com/mxard2.

1 голос
/ 06 февраля 2009

В прошлый раз, когда я перестраивал свой сайт, у меня была куча проблем с фидом. Как вы описываете - читайте вещи, которые становятся непрочитанными при следующем обновлении, дублируйте записи. Оказывается, проблема была больше связана с элементом guid, чем с pubdate. Насколько я помню, то, что я делал с датой (какое-то время у меня был неправильный формат), не имело особого значения, пока гид был уникальным.

1 голос
/ 06 февраля 2009

У меня нет однозначного ответа для вас, но, к сожалению, я поддерживаю частную программу чтения кормов в течение последних 4 лет или около того. Я был подвержен множеству капризов RSS / ATOM и могу сказать вам, что у многих фидов нет дат, связанных с элементами. Это может быть проблема с версией RSS.

0 голосов
/ 20 августа 2009

Просто делал это сам и прибегал к добавлению случайного числа к URL, который я использую для получения данных (я использую YQL). Я генерирую это случайное число с помощью Date Builder и заполняю его словом «today», чтобы получить текущую дату / время. Затем я использую URL Builder для создания URL-адреса, который я запрашиваю, передавая дополнительный параметр «randomnumber», который я присваиваю своему значению DateTime.utime.

Посмотрев на сгенерированный RSS-канал через источник просмотра, articleId теперь выглядит уникальным, но я не оставил его достаточно долго, чтобы узнать, видит ли Google Reader и т. Д. Его отличия.

0 голосов
/ 06 февраля 2009

проблема может быть связана с источником вашего канала. Если вы используете несколько каналов, то после операции объединения в каналах выполните операцию сортировки в pubdate, а затем перенаправьте ее на вывод.

...