PubDate/Guid необходим для RSS? Как я создаю хороший RSS в Yahoo! Трубы, если источник не указывает разные даты для элементов?

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

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

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

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


person Community    schedule 06.02.2009    source источник


Ответы (8)


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

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

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

person Community    schedule 26.05.2009

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

person Community    schedule 10.02.2009

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

person Community    schedule 05.03.2011

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

person jj33    schedule 06.02.2009

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

person Andrew    schedule 06.02.2009
comment
это не сработало, вероятно, из-за Yahoo! Трубы возятся с моим гидом, я попробую еще раз - person Jader Dias; 06.02.2009

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

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

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

person Community    schedule 18.06.2009

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

person Community    schedule 06.02.2009
comment
у источника нет фида. Я использую Yahoo Pipes для создания канала с веб-сайта без каналов. - person Jader Dias; 06.02.2009

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

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

person Community    schedule 20.08.2009