2013-04-29 4 views
0

내 요구 사항은 트위터 API를 사용하여 특정 기간의 트윗을 표시하는 것입니다. 특정 시간대의 트윗을 표시하기 위해 다음 코드를 시도한 모든 트윗을 가져 오기 위해 API의 getsearch 메서드를 사용하고 있습니다. @jamylak가 말한대로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'이 아니며, 텍스트는'tweet.create_at'입니다. – jamylak

+0

입니다. – Babu

+0

답장을 보내 주셔서 감사합니다. tweet.created_at은 Mon, 29 Apr 2013 01:12:50 +0000처럼 보입니다. tweet.create_at을 datetime 형식으로 변환하려면 어떻게해야합니까? –

답변

1

.

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 4 월 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과 비교하는 것입니다. (인용없이). 그래서 따옴표없이 날짜를 얻는 방법. –

관련 문제