2011-10-12 36 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