Я экстремальный новичок. Моя цель состоит в том, чтобы почистить сообщения и комментарии reddit от subreddit r / Coronavirus от поисковика «курильщики». Я продолжаю получать «AttributeError: объект« MoreComments »не имеет атрибута« body »», ссылаясь на строку «commentsDict [« Body »]. Append (topLevelComments.body)». Есть две другие строки, использующие (topLevelComments.author, .score и .body), которые продолжают вызывать у него sh. Когда я закомментирую все строки с помощью ".append (topLevelComments.), Он возвращает: ValueError (" массивы должны быть одинаковой длины "), я схожу с ума, так как этот код работал нормально 2 дня go. Пожалуйста, помогите , код ниже. Я закомментировал строки, вызывающие проблемы, но не уверен, что делать с ошибкой 2. Хотя один шаг за раз:
commentsDict = {"Post" : [], "Post Score" : [], "No of Comments":[], "Post Date":[], \
"Body":[],"Score":[],"Date":[],"Author":[], "id":[], "p_auth":[], "Post body":[]}
for submission in reddit.subreddit("Coronavirus").search("smoker"):
submission.comment_sort = 'new'
topLevelComments = list(submission.comments)
for topLevelComments in submission.comments:
commentsDict["Post"].append(submission.title)#title of post with comment
commentsDict["Post Score"].append(submission.score)
commentsDict["Post body"].append(submission.selftext)
commentsDict["id"].append(submission.id)
commentsDict["p_auth"].append(submission.author)
commentsDict["No of Comments"].append(submission.num_comments)
date = submission.created_utc
timestamp = datetime.datetime.fromtimestamp(date)
commentsDict["Post Date"].append(timestamp.strftime('%Y-%m-%D %H:%M:%S'))
#commentsDict["Body"].append(topLevelComments.body)
#commentsDict["Score"].append(topLevelComments.score)
#date = topLevelComments.created
timestamp = datetime.datetime.fromtimestamp(date)
commentsDict["Date"].append(timestamp.strftime('%Y-%m-%D %H:%M:%S'))
#commentsDict["Author"].append(topLevelComments.author)
commentsDF = pd.DataFrame(commentsDict)
commentsDF.to_csv('smoker_covid.csv', index=True)