Как получить стандартное datetime из tweet.create_at - PullRequest
0 голосов
/ 07 мая 2020

Я использую tweepy api в своем проекте и пытаюсь узнать время создания твита с помощью tweet.created_at. Он возвращает набор Number вместо фактической строки даты, которая показана в документации Official twitter API. ниже приведен код для получения данных:

 for tweet in tweepy.Cursor(tweet_api.search, q=user, count=200,
                           lang="en").items(4000):

    if re.match(pattern, tweet.text):
        continue
    tweet_d.append(tweet)

data["text"] = [clean_tweet(tweet.text) for tweet in tweet_d]
data["len"] = [len(clean_tweet(tweet.text)) for tweet in tweet_d]
data["Date"] = [tweet.created_at for tweet in tweet_d]
data['Source'] = [tweet.source for tweet in tweet_d]
data['Likes'] = [tweet.favorite_count for tweet in tweet_d]
data['RTs'] = [tweet.retweet_count for tweet in tweet_d]

Вот распечатанный объект Array:

[{"text": "b смотрите, как вы fre sh like todays boli "," len ": 35," Date ": 1588602936000," Source ":" Twitter for Android "," Likes ": 0," RTs ": 0}, {" text ":" b " , "len": 1, "Date": 1588598786000, "Source": "Twitter для Android", "Likes": 1, "RTs": 0}, {"text": "b", "len" : 1, «Дата»: 1588597919000, «Источник»: «Twitter для Android», «Нравится»: 1, «RT»: 0},]

Я пытаюсь получить Дата в качестве стандартной даты и времени («среда, 23 мая, 06:01:13 +0000 2007»,) вместо указанного набора чисел (1588598786000).

1 Ответ

0 голосов
/ 07 мая 2020

Число представляет собой метку времени UNIX в миллисекундах.

Разделите на 1000, чтобы получить секунды, затем перейдите к datetime.datetime.fromtimestamp():

>>> import datetime
>>> t = datetime.datetime.fromtimestamp(1588602936000 / 1000)
datetime.datetime(2020, 5, 4, 17, 35, 36)
>>> t.isoformat()
'2020-05-04T17:35:36'
...