2013-04-29 3 views
0

Мое требование - отображать твиты определенного периода времени, используя twitter api. Я использую метод getearch api, чтобы получить все твиты, которые я пробовал использовать следующий код для отображения твитов определенного периода времени.Как отображать твиты определенного периода времени с помощью 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

+0

публикует сообщение 'tweet.create_at'. – Babu

+0

Спасибо за ваш ответ, tweet.created_at выглядит как Mon, 29 Apr 2013 01:12:50 +0000 как я могу преобразовать формат tweet.create_at в формат datetime. –

ответ

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

Спасибо за ответ, есть ли способ конвертировать дату этого формата «Пн, 29 апреля 2013 01:12:50 +0000» до «2013-04-29 01: 12: 50.784572« Пожалуйста, предложите мне. –

+0

@vittalcherala ответ обновлен. – Babu

+0

Спасибо за код, который он работает, но мы получаем вывод в одинарной цитате ('2013-04-29 01:12:50 AM'), но мое требование - сравнить это с 2013-04-29 01:12:50 AM (без кавычек). так как получить дату без кавычек. –

Смежные вопросы