背景:我正在创建一个推文刮刀,用刮刮,从众议院和参议院的现任政府代表那里收集推文。我正在搜索的推文中,我正在搜索与“网络安全”和“隐私”相关的关键词。我正在用一本单词字典来扫描。通常,我会有更多的成员在用户名列表中,但我只是尝试用一个较低的数字测试,以使它首先工作。
The problem:我已经设置了嵌套的for循环,以遍历要检查的每个用户名,并设置要扫描的单词字典。输出仅显示用户名列表中的最后一个人。我找不出原因。就像每次for循环重新启动时,它会擦除它刚刚检查过的最后一个人。
代码
import os
import pandas as pd
tweet_count = 500
username = ["SenShelby", "Ttuberville", "SenDanSullivan"]
text_query = ["cybersecurity", "cyber security", "internet privacy", "online privacy", "computer security", "health privacy", "privacy", "security breach", "firewall", "data"]
since_date = "2016-01-01"
until_date = "2021-10-14"
for person in username:
for word in text_query:
os.system("snscrape --jsonl --progress --max-results {} --since {} twitter-search '{} from:{} until:{}'> user-tweets.json".format(tweet_count, since_date, word, person, until_date))
tweets_framework = pd.read_json('user-tweets.json', lines=True)
tweets_framework.to_csv('user-tweets.csv', sep=',', index=False)任何帮助都将不胜感激!
发布于 2021-10-17 18:30:53
首先,每个用户的JSON应该有一个唯一的名称。
第二,您需要为每个用户运行json到csv (如果这是您要做的)
for person in username:
for word in text_query:
filename = '{}-{}-tweets'.format(person, word)
os.system("snscrape --jsonl --progress --max-results {} --since {} twitter-search '{} from:{} until:{}'> {}.json".format(tweet_count, since_date, word, person, until_date, filename))
tweets_framework = pd.read_json('{}.json'.format(filename), lines=True)
tweets_framework.to_csv('{}.csv'.format(filename), sep=',', index=False)https://stackoverflow.com/questions/69606895
复制相似问题