Получение NoneType при попытке получить обновленную дату из RSS с использованием Python - PullRequest
0 голосов
/ 12 октября 2011

У меня есть следующий код, который хорошо работает, когда я пытаюсь получить дату из любого канала RSS (с помощью универсального анализатора каналов):

for entry in RSS_FEED.entries:
    FEED_DATE=entry.updated_parsed
    FEED_DATE_STRING = datetime.fromtimestamp(mktime(FEED_DATE))
    FEED_DATE_STRING = str(FEED_DATE_STRING)
    FEED_DATE_STRING = Datetime.ParseDate(FEED_DATE_STRING).strftime('%a %b %d, %Y')

Но при анализе следующего формата RSS:

<item>
<title>Title</title>
<description>
Description
</description>
<lastBuildDate>Wed, 5 Oct 2011 03:11:00:00 +0700</lastBuildDate>
<pubDate>Wed, 5 Oct 2011 03:11:00:00 +0700</pubDate>
</item>

Я получаю сообщение об ошибке в файле журнала:

FEED_DATE_STRING = datetime.fromtimestamp (mktime (FEED_DATE)) TypeError: аргумент должен быть последовательностью из 9 элементов, а не None

1 Ответ

0 голосов
/ 12 октября 2011

Предполагается, что вы используете пакет feedparser для анализа rss: причина ошибки в файле журнала заключается в том, что вы используете формат даты, который feedparser не понимает.Это означает, что entry.updated_parsed будет установлено на None.Проблема, кажется, является четвертым элементом в поле времени.Если даты изменены на:

Wed, 5 Oct 2011 03:11:00 +0700

, тогда feedparser обрабатывает их правильно.

...