📌  相关文章
📜  Python PRAW – 获取 redditor 的评论业力(1)

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

Python PRAW – 获取 redditor 的评论业力

介绍

Python PRAW 是一个用于访问 Reddit API 的 Python 库。通过 Python PRAW,可以获得有用的 Reddit 数据,例如用户评论、帖子、私信和子版块等。

在本文中,我们将使用 Python PRAW 获取 redditor 的评论业力。也就是说,我们将查看一个 Reddit 用户的所有评论,以及这些评论所获得的投票数和回复数。

安装

要安装 Python PRAW,可以使用 pip:

pip install praw
获取 access_token

在使用 Python PRAW 访问 Reddit API 之前,需要首先获取 access_token。

  1. 打开 Reddit App Preferences 页面,并登录 Reddit 账户。
  2. 点击“create app”或“create another app”按钮。
  3. 输入应用程序的名称、描述和重定向 URL。
  4. 选择“web app”或“installed app”,并填写相关信息。
  5. 在“create app”页面上,找到“client id”和“client secret”,并记录下来。
  6. 通过以下 Python 代码获取 access_token:
import praw

reddit = praw.Reddit(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
    redirect_uri="YOUR_REDIRECT_URI",
    user_agent="YOUR_USER_AGENT",
)

auth_url = reddit.auth.url(["*"], "RANDOM_STRING", "permanent")
print("Go to this link:", auth_url)

code = input("Paste the code here: ")
access_token = reddit.auth.authorize(code)
print("access_token:", access_token)

YOUR_CLIENT_IDYOUR_CLIENT_SECRETYOUR_REDIRECT_URIYOUR_USER_AGENT 替换为您的 Reddit App 的相关信息。RANDOM_STRING 可以是任意字符串,但必须具有高熵。获取 access_token 时,将跳转到 Reddit 的授权页面。按照提示授权,并将生成的 code 粘贴到命令行中。将返回的 access_token 记录下来。

获取 redditor 的评论业力
import praw

reddit = praw.Reddit(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
    access_token="YOUR_ACCESS_TOKEN",
    user_agent="YOUR_USER_AGENT",
)

redditor_name = "REDDITOR_NAME"

redditor = reddit.redditor(redditor_name)

for comment in redditor.comments.new(limit=None):
    print(f"{comment.body} ({comment.score} points, {len(comment.replies)} replies)")

YOUR_CLIENT_IDYOUR_CLIENT_SECRETYOUR_ACCESS_TOKENYOUR_USER_AGENT 替换为相应信息。将 REDDITOR_NAME 替换为所需的 Reddit 用户名。

这段代码将打印 redditor 发表的所有评论,以及每个评论所获得的投票数和回复数。

结论

Python PRAW 使得获取 Reddit 数据变得非常容易。通过使用 Python PRAW 和 Reddit API,可以轻松地获取 Reddit 上的数据,从而更深入地了解 Reddit 社区。