我的要求是使用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'
怎么做请建议我..
答案 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