0

我的要求是使用 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' 如何做到这一点请建议我..

4

2 回答 2

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选项,请参阅此处

于 2013-04-29T08:32:21.450 回答
0

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

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

于 2013-04-29T07:18:00.143 回答