2010-03-05 2 views
0

Выход из следующих функций:Почему в записи Netflix.com NewWatchInstantlyRSS нет записей (при анализе с помощью feedparser)?

import feedparser 
d = feedparser.parse('http://www.netflix.com/NewWatchInstantlyRSS') 
d.entries[177].keys() 

является:

['summary_detail', 'links', 'title', 'summary', 'guidislink', 'title_detail', 'link', 'id'] 

Согласно http://feedparser.org/docs/common-rss-elements.html, должен быть элемент "дата" в записях.

Ключ, возможно, заключается в том, что когда я открываю http://www.netflix.com/NewWatchInstantlyRSS в Firefox или Safari (в Mac OS X), я не вижу никаких дат. (На самом деле Safari ставит дату & время, когда я открыл канал рядом с каждым элементом.) Но почему-то Google Reader получает уникальные даты для каждого элемента. (Вот почему я выбрал запись 177 выше - это индекс «Dare», который является первой записью на сегодня в соответствии с Google Reader, которая показывает «8:32 AM» рядом с ней.)

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

ответ

1

Если вы посмотрите на исходный источник RSS-канала по адресу http://www.netflix.com/NewWatchInstantlyRSS (откройте в веб-браузере и просмотрите исходный код), вы увидите, что они не включают элемент даты. Там ДОЛЖЕН быть, но нет.

EDIT: Извините, я не читал ваш вопрос полностью. Я не знаю, где Google получает свою ценность за дату. Я поставил фид в google, и я получаю 10:32 утра сегодня для Dare, который не равен вашему, независимо от того, какой часовой пояс. Я бы сказал, что их собственный кеш, когда они загрузили обновленный фид, и, возможно, у них разные серверы, которые объяснят наши различия.

Нет специальных свойств RSS-каналов, чтобы получить это значение, когда его просто нет. ЕСЛИ вам это нужно. Я предлагаю использовать метод, похожий на то, что я считаю Google.

+0

Так как Google Reader получает даты? –

+0

Я не знаю, где Google получает значение для даты. Я поставил фид в google, и я получаю 10:32 утра сегодня для Dare. Я бы сказал, что их собственный кеш, когда они загрузили обновленный фид. Нет специальных свойств RSS-каналов, чтобы получить это значение, когда его просто нет. ЕСЛИ вам это нужно. Я предлагаю использовать метод, похожий на то, что я считаю Google. – KTastrophy

+0

Проще говоря, я ВЕРЮ, что Google Reader сохраняет дату в кеше с момента последнего обновления фида. Вы можете получить будущие даты, используя тот же метод. – KTastrophy