【发布时间】: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