【问题标题】:Is Twitter's Tweet_ID unique across twitter platform?Twitter 的 Tweet_ID 在 Twitter 平台上是唯一的吗?
【发布时间】:2020-09-18 00:21:24
【问题描述】:

我正在编写一个脚本来处理和存储数百万条推文。我的代码的工作方式是将推文的 ID 存储为 MongoDB 文档的 _id 以使其在我的数据库中唯一。
我观察到 Tweet ID 似乎不是唯一的,并且在将不同用户的推文写入 DB 时出现重复键错误。
雪花文档 (https://developer.twitter.com/en/docs/basics/twitter-ids) 概述了推文 ID 的生成方式,并且它似乎在推特数据库中应该是唯一的。
有人可以确认推特的推文 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】:

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

    【讨论】:

    • 正是我发现的真实情况。我通过抓取大约 100 个用户的所有推文对其进行了测试,并试图找到任何重复的 tweet_ids(未找到)。所以我检查了我的代码,重复键错误的原因是种子列表中重复的 twitter ID。谢谢你的澄清!!
    猜你喜欢
    • 1970-01-01
    • 2017-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-15
    • 2012-06-19
    • 2011-05-08
    • 1970-01-01
    相关资源
    最近更新 更多