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 に答える