我正在我的项目中实现tweepy api,并且试图获取使用tweet.created_at创建tweet的时间。它返回一组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像今天的玻利一样让您感到新鲜”, “ len”:35, “日期”:1588602936000, “来源”:“ Android版Twitter”, “喜欢”:0, “ RTs”:0}, {“ text”:“ b”, “ len”:1, “日期”:1588598786000, “来源”:“ Android版Twitter”, “喜欢”:1, “ RTs”:0}, {“ text”:“ b”, “ len”:1, “日期”:1588597919000, “来源”:“ Android版Twitter”, “喜欢”:1, “ RTs”:0},]
我试图将日期作为标准datetime(“星期三5月23日06:01:13 +0000 2007”,),而不是所示的那些数字(1588598786000)。
答案 0 :(得分:0)
数字是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'