Как парсить данные с Reddit в 2023 году
Table Of Content
- Получение постов из субреддита
- Создание списка для хранения данных о постах
- Перебор постов и извлечение соответствующей информации
- Создание DataFrame из данных о постах
- Вывод результирующего DataFrame
- Получение комментариев из субреддита
- Создание списка для хранения данных о комментариях
- Перебор комментариев и извлечение соответствующей информации
- Создание DataFrame из данных о комментариях
- Вывод результирующего DataFrame
- Парсинг Reddit с использованием Python - GeeksforGeeks
- В этой статье мы рассмотрим, как парсить Reddit с помощью Python, здесь мы будем использовать библиотеку PRAW (Python...
На Reddit есть два основных типа контента, которые пользователи могут добавлять на платформу - посты и комментарии. Вот основные различия между постами и комментариями:
Код: !pip install praw
import praw
import pandas as pd
reddit = praw.Reddit(client_id='ваш_client_id',
client_secret='ваш_client_secret',
user_agent='ваш_user_agent')
ml_subreddit = reddit.subreddit('MachineLearning')
# Получение постов из субреддита
posts = ml_subreddit.new(limit=10) # Используйте метод "new" для получения новых постов
# Создание списка для хранения данных о постах
post_data = []
# Перебор постов и извлечение соответствующей информации
for post in posts:
post_data.append({
'Заголовок': post.title,
'Оценка поста': post.score,
'Автор': post.author.name,
'ID поста': post.id,
'Субреддит': post.subreddit.display_name
})
# Создание DataFrame из данных о постах
posts_df = pd.DataFrame(post_data)
# Вывод результирующего DataFrame
print(posts_df)
2. Комментарии: Комментарии - это ответы или реплики, которые пользователи оставляют на посты или другие комментарии. Они являются основным способом участия пользователей в обсуждениях на Reddit. Комментарии позволяют пользователям выразить свои мысли, предоставить дополнительную информацию, задать вопросы или вступить в разговоры, связанные с постом. Каждый комментарий связан с родительским постом или комментарием, чтобы установить поток обсуждения. Комментарии могут быть оценены другими пользователями (положительно или отрицательно), чтобы указать на их значимость или вклад в беседу.
import praw
import pandas as pd
reddit = praw.Reddit(client_id='ваш_client_id',
client_secret='ваш_client_secret',
user_agent='ваш_user_agent')
ml_subreddit = reddit.subreddit('MachineLearning')
# Получение комментариев из субреддита
comments = ml_subreddit.comments(limit=10)
# Создание списка для хранения данных о комментариях
comment_data = []
# Перебор комментариев и извлечение соответствующей информации
for comment in comments:
comment_data.append({
'Текст комментария': comment.body,
'Оценка комментария': comment.score,
'Автор': comment.author.name,
'ID поста': comment.link_id,
'Субреддит': comment.subreddit.display_name
})
# Создание DataFrame из данных о комментариях
comments_df = pd.DataFrame(comment_data)
# Вывод результирующего DataFrame
print(comments_df)
Чтобы получить client_id и client_secret, пожалуйста, следуйте этой ссылке