2013-04-29 995 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

相关问题