Python 将来自多个子Reddit的PRAW结果附加到一个数据帧
我现在正在使用PRAW从多个不同的子Reddit获取结果,并尝试将每个子Reddit的每个结果分组到一个数据帧中 现在,它可以很好地处理一个子Reddit,但是一旦我传入一个子Reddit列表,它就会覆盖上一个子Reddit的结果,并返回最近完成的子Reddit。出于某种原因,我觉得这应该是微不足道的,但我画了一个完全空白 这是我现在拥有的代码:Python 将来自多个子Reddit的PRAW结果附加到一个数据帧,python,python-3.x,pandas,praw,Python,Python 3.x,Pandas,Praw,我现在正在使用PRAW从多个不同的子Reddit获取结果,并尝试将每个子Reddit的每个结果分组到一个数据帧中 现在,它可以很好地处理一个子Reddit,但是一旦我传入一个子Reddit列表,它就会覆盖上一个子Reddit的结果,并返回最近完成的子Reddit。出于某种原因,我觉得这应该是微不足道的,但我画了一个完全空白 这是我现在拥有的代码: sub_list = ['5 different subreddits'] for sub in sub_list: print('Wor
sub_list = ['5 different subreddits']
for sub in sub_list:
print('Working on this sub right now: \n', sub)
subreddit = protest_sniffer.subreddit(sub)
cont_subreddit = subreddit.controversial(limit=1000)
topics_dict = { "title":[], \
"score":[], \
"id":[], "url":[], \
"comms_num": [], \
"created": [], \
"body":[]}
count = 0
for submission in cont_subreddit:
topics_dict["title"].append(submission.title)
topics_dict["score"].append(submission.score)
topics_dict["id"].append(submission.id)
topics_dict["url"].append(submission.url)
topics_dict["comms_num"].append(submission.num_comments)
topics_dict["created"].append(submission.created)
topics_dict["body"].append(submission.selftext)
count += 1
progress = round(100 * (count/1000), 1)
print('%s percent finished' % progress)
topics_data = pd.DataFrame(topics_dict)
print(topics_data.describe())
由于
topics\u dict
是在第一个循环中定义的,因此子reddit的每次新迭代都会用包含空列表的字典覆盖以前的字典。我要说的是,试着把它移到圈外
sub_list = ['5 different subreddits']
topics_dict = { "title":[], \
"score":[], \
"id":[], "url":[], \
"comms_num": [], \
"created": [], \
"body":[]}
for sub in sub_list:
...
multireddit对你有用吗?您可以将subreddit设置为类似于
的“pics+gifs+funcy”
,它将同时收集所有3个站点的帖子。