Twitter的Tweet_ID在整个Twitter平台上是否唯一?

问题描述 投票:0回答:1

我正在编写一个脚本来处理和存储数百万条推文。我的代码的工作方式是将Tweet的ID存储为MongoDB文档的_ id,以使其在我的数据库中唯一。我观察到的是,Tweet ID似乎不是唯一的,并且在将不同用户的Tweet写入DB时出现重复键错误。雪花(https://developer.twitter.com/en/docs/basics/twitter-ids)的文档概述了如何生成推文ID,并且在Twitter数据库中似乎应该是唯一的。有人可以确认Twitter的Tweet ID在他们的数据库中是否实际上是唯一的吗?这是我的代码的工作方式:

def write_tweets_to_db(tweets):
    processed_tweets = []
    for tweet in tweets:
        processed_tweets = process_tweet(tweet)  # This is where I convert tweepy object to dict and 
                                                 # set _id key to tweet ID
    for tweet in processed_tweets:
        try:
            collection.insert_one(tweet)
        except Exception as e:
            print('Error while writing tweet to DB | Error: {}'.format(e))

# Error while writing tweet to DB | Error: E11000 duplicate key error collection: [DB].[collection] index: _id_ dup key: { _id: 1235024705523863552 }

python web-scraping twitter tweepy
1个回答
0
投票

推特ID确实是唯一的。您应该始终使用ID的字符串变体,以避免JavaScript和其他无法处理大整数转换数字的语言出现问题。

© www.soinside.com 2019 - 2024. All rights reserved.