2013-04-29 163 views
0

我的要求是使用twitter api顯示特定時間段的推文。我正在使用api的getsearch方法來獲取所有推文,我嘗試了下面的代碼來顯示特定時間段的推文。如何使用twitter api顯示特定時間段的推文

Three_days_ago = datetime.datetime.utcnow()-datetime.timedelta(days = 3) 
for tweet in tweets: 
    if tweet.created_at > Three_days_ago: 
     print tweet 

,但我得到的錯誤'can't compare datetime.datetime to unicode' 如何做到這一點請建議我..

+1

'tweet.created_at'不是'datetime',它是文字 – jamylak 2013-04-29 07:15:31

+0

發佈'tweet.create_at'。 – Babu 2013-04-29 07:21:11

+0

感謝您的回覆,tweet.created_at看起來像星期一,2013年4月29日01:12:50 +0000如何將我的tweet.create_at轉換爲日期時間格式。 – 2013-04-29 07:26:14

回答

1

您可以使用dateutil

from dateutil import parser 


Three_days_ago = datetime.datetime.utcnow()-datetime.timedelta(days = 3) 
for tweet in tweets: 
    tweeted_datetime = parser.parse(tweet.created_at) 
    if tweeted_datetime > Three_days_ago: 
     print tweet, tweeted_datetime.strftime("%Y-%m-%d %H:%M:%S %p") 

我不確定您能夠獲得毫秒級,因爲它在解析時沒有通過。更多strftime選項請參考here

+0

感謝您的回覆是否有任何方式將此格式的日期「Mon,29 Apr 2013 01:12:50 +0000」轉換爲「2013-04-29 01:12:50.784572」請給我建議。 – 2013-04-29 09:06:26

+0

@vittalcherala答案已更新。 – Babu 2013-04-29 09:27:20

+0

感謝代碼的工作,但我們得到單引號輸出('2013-04-29 01:12:50 AM'),但我的要求是比較這與2013-04-29 01:12:50 AM (不含引號)。所以如何得到沒有引號的日期。 – 2013-04-29 10:18:36

相關問題