gpt4 book ai didi

java - 在 mongoDB 中存储来自 twitter api 的 json 文件

转载 作者:太空宇宙 更新时间:2023-11-03 19:20:07 32 4
gpt4 key购买 nike

我使用 java 和 twitter 搜索 api 将推文存储在 mongoDB 中,有没有办法按原样存储来自 twitter api 的 json?

我也在考虑使用python,有没有办法用python实现?

最佳答案

我不知道你是否仍然对这个问题的答案感兴趣,但从纯粹的Python角度来看,这就是我存储原始推文json的方式:

import tweetstream # Needed For Twitter API Capture (Make sure using modified version with proxy support)
import argparse # Needed for taking cmd line input
import gzip # Needed for compressing output
import json # Needed for Data conversion for easier DB import
import ast # Also Needed for Data conversion

collector = argparse.ArgumentParser(description='Collect a lot of Tweets') # This line sets up the argument collector
collector.add_argument('--username', dest='username', action="store") # This line collects the Username
collector.add_argument('--password', dest='password', action="store") # This line collects the password
collector.add_argument('--outputfilename', dest='outputfilename', action="store") # This line collects the output filename

args = collector.parse_args() # Setup args to store cmd line arguments

def printusername(): # define the username argument

print args.username

def printpassword(): # define the password argument

print args.password

def printoutputfilename(): # define the output filename

print args.outputfilename

output=gzip.open(args.outputfilename, "a") # Open the output file for GZIP writing

with tweetstream.TweetStream(args.username, args.password) as stream: # Open the Twitter Stream
for tweet in stream: # For each tweet within the twitter stream
line = str(tweet) # turn the tweet into a string
line = ast.literal_eval(line) # evaluate the python string (dictionary)
line = json.dumps(line) # turn the python dictionary into valid JSON
output.write(line) # write the line to the output file
output.write("\n")

运行这个:“python myscript.py --username yourusername --password yourpassword --outputfilename yourpathandfilename”

您需要安装 tweetstream argparse gzip json 和 ast 模块。所有这些都可以通过 pip 或 easy_install 或大多数 ubuntu/fedora 包管理器安装。

脚本将创建的输出文件是一个简单的 gzip 压缩文本文件,其中每一行都是一个新的 json 字符串,其中包含完整的 tweet json 对象。由于脚本会一直运行直到达到速率限制,因此它不会使用正确的 EOF 关闭 gzip 文件。然而 python 并不关心,因此您可以使用另一个脚本打开它,7zip 或 winrar 也不关心。

我希望这会有所帮助。 :)

关于java - 在 mongoDB 中存储来自 twitter api 的 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10026342/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com