【发布时间】:2016-08-25 03:39:58
【问题描述】:
我使用这个基于 tweepy 的 code 通过 user_id 提取给定用户的推文。然后,我将给定用户 (alltweets) 的所有推文列表保存到 json 文件中,如下所示。请注意,如果没有“repr”,我无法将所有推文列表转储到 json 文件中。代码按预期工作
with open(os.path.join(output_file_path,'%s_tweets.json' % user_id), 'a') as f:
json.dump(repr(alltweets), f)
但是,在将推文保存到 json 文件后,我在检索推文时遇到了一个问题。我需要访问每条推文中的文本,但我不确定如何处理 tweepy 使用的“状态”包装器(请参阅附件中的 json 文件示例)。sample json file content
我尝试如下迭代文件中的行,但文件被视为单行。
with open(fname, 'r') as f:
for line in f:
tweet = json.loads(line)
我还尝试在将 json 文件作为字符串读取后迭代状态,如下所示,但迭代发生在 json 文件中的单个字符上。
with open(fname, 'r') as f:
x = f.read()
for status in x:
"""code"""
【问题讨论】:
-
请提出一个明确的问题。我没有看到任何问号,目前还不清楚你到底在问什么……
-
您没有在文件中保存 json。您实际上是在保存
repr的Status对象列表。您需要在保存之前从对象中取出 json。 -
@JulienBernu:我的问题是,如何遍历 json 文件中的许多状态并提取推文的“文本”?
-
@Sevanteri 是的,与您所说的一致,Tweepy 文档在流式传输之后首先处理 Satuse。不幸的是,当我知道这一点时为时已晚。现在,我有 100G 的 twitter 数据,我保存为我需要处理的列表的 repr。所以,正如我上面的回复,问题是如何遍历 json 文件中的许多状态并提取推文的“文本”?