2011-10-12 38 views
0

我有下面的代码,当我试图从任何RSS提要之日起,其能很好地得到RSS更新的日期(使用通用饲料分析器):获取NoneType同时试图使用python

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: argument must be 9-item sequence, not None

+0

你为什么要将'FEED_DATE'初始化为'None'? –

+0

@MattFenwick,编辑。只是为了确保它是NoneType,用于测试 – Simsons

+0

如何解析Feed? – Avaris

回答

0

假设您使用feedparser包来解析rss:日志文件中错误的原因是您使用feedparser无法理解的日期格式。这意味着entry.updated_parsed将被设置为None。这个问题似乎是时间领域的第四个因素。如果日期更改为:

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

然后feedparser正确处理它们。

+0

是的,这是问题所在。但是,我如何将它转换为日期时间格式 – Simsons

+0

@Subhen。什么RSS饲料生产日期格式?如果日期不是标准格式,你可能需要从'entry.updated'中取出日期字符串并自己解析。 – ekhumoro