PRAW имеет раздел в документации , который отвечает на этот вопрос. См. Извлечение и анализ комментариев: извлечение комментариев с помощью PRAW .
Изменение кода на основе связанной документации приводит к выводу
from praw.models import MoreComments
reddit = praw.Reddit(...)
hot = reddit.subreddit("AskReddit").hot(limit=10)
for submission in hot:
print(submission.title)
for top_level_comment in submission.comments:
if isinstance(top_level_comment, MoreComments):
continue
print(top_level_comment.body)
. все комментарии верхнего уровня по представлению. Обратите внимание, что класс Comment
имеет другие атрибуты, многие из которых задокументированы здесь . Например, чтобы напечатать некоторые из атрибутов comment
, которые вы обведены красным, попробуйте:
print(comment.author)
print(comment.score)
print(comment.created_utc) # as a Unix timestamp
print(comment.body)
Как предполагает связанная документация, вы можете получить каждый комментарий в представлении, используя .list()
Метод:
reddit = praw.Reddit(...)
hot = reddit.subreddit("AskReddit").hot(limit=10)
for submission in hot:
print(submission.title)
submission.comments.replace_more(limit=None)
for comment in submission.comments.list():
print(comment.author)
print(comment.score)
print(comment.created_utc) # as a Unix timestamp
print(comment.body)