使用Python从RSS获取更新日期时出现NoneType
我有一段代码,当我从任何RSS源获取日期时,它运行得很好(使用通用的Feed解析器):
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)) 类型错误:参数必须是9个项目的序列,而不是None
1 个回答
0
假设你正在使用feedparser这个包来解析RSS,日志文件中的错误是因为你使用了feedparser无法理解的日期格式。这就导致entry.updated_parsed
被设置为None
,也就是没有值。问题似乎出在时间字段的第四个元素上。如果把日期改成:
Wed, 5 Oct 2011 03:11:00 +0700
那么feedparser就能正确处理这些日期了。