📌  相关文章
📜  Python PRAW – 在 Reddit 中获取评论的父 ID(1)

📅  最后修改于: 2023-12-03 15:04:07.908000             🧑  作者: Mango

Python PRAW – 在 Reddit 中获取评论的父 ID

简介

PRAW (Python Reddit API Wrapper) 是一个用 Python 管理 Reddit API 的库。它可以让我们轻松地从 Reddit 上获取数据、提交帖子和评论等任务。

在 PRAW 中,我们可以使用 comment.parent_id 属性来获取一个评论的父 ID。父 ID 可以是帖子 ID 或者另一个评论的 ID。

在本篇文章中,我们将探讨如何使用 PRAW 在 Reddit 中获取评论的父 ID。

前置条件

为了能够运行本文中的代码,你需要安装 praw 这个库。你可以使用如下命令在命令行中安装该库:

pip install praw

安装完成后,我们需要使用一个 Reddit API 的 client ID 和 client secret 来认证 API 访问。在 Reddit Apps 中创建你的应用程序,并复制 client ID 和 client secret。

获取帖子的评论

我们首先需要获取一个 Reddit 帖子的评论。我们可以使用 PRAW 中的 submission.comments 属性来获取所有的评论。下面是获取一个帖子的所有评论的示例:

import praw

# 创建一个 Reddit 的对象
reddit = praw.Reddit(client_id='your_client_id',
                     client_secret='your_client_secret',
                     user_agent='your_user_agent')

# 获取帖子
submission = reddit.submission(url='https://www.reddit.com/r/redditdev/comments/nn9nc7/praw_python_reddit_api_wrapper_v780_released/')

# 获取帖子的所有评论
all_comments = submission.comments.list()

在上面的代码中,我们创建一个 praw.Reddit 对象,并将我们的 client ID、client secret 和 user agent 传递给该对象。然后我们使用帖子的 URL 来获取 submission 对象。最后,我们可以使用 submission.comments.list() 方法来获取帖子的所有评论的列表。

获取评论的父 ID

获取评论的父 ID 很简单。我们只需要使用 comment.parent_id 就可以获取到。下面是获取每个评论的父 ID 的示例:

for comment in all_comments:
    parent_id = comment.parent_id
    print(f'{comment.id} - parent id: {parent_id}')

在上面的代码中,我们对帖子的所有评论进行了遍历,并通过 comment.parent_id 属性获取了每个评论的父 ID。然后我们将评论的 ID 和父 ID 进行了打印。

结论

在本篇文章中,我们学习了如何使用 PRAW 在 Reddit 中获取评论的父 ID。我们首先获取了一个 Reddit 帖子的所有评论,然后遍历了每个评论,并使用 comment.parent_id 获取了每个评论的父 ID。

使用 PRAW,我们可以轻松地访问 Reddit 的 API,并获取任何你感兴趣的数据。