如何使用twitter api显示特定时间段的推文

时间:2013-04-29 07:14:08

标签: python parsing datetime twitter

我的要求是使用twitter api显示特定时间段的推文。我正在使用api的getsearch方法获取所有推文我已经尝试了以下代码来显示特定时间段的推文。

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' 怎么做请建议我..

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

正如@jamylak所说,tweet.created_at是文本而不是日期时间。

您可以根据此处给出的规则将其转换为日期时间:http://docs.python.org/2/library/datetime.html#strftime-strptime-behavior