📌  相关文章
📜  Python PRAW – 在 Reddit 中获取评论的永久链接(1)

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

Python PRAW – 在 Reddit 中获取评论的永久链接

如果你想在Reddit上与其他用户交流,那么获取评论的永久链接是一项非常重要的任务。Python PRAW是一种非常有用的工具,可用于在Reddit中获取评论的永久链接。本文将介绍如何使用Python和PRAW包从Reddit中获取评论的永久链接。

PRAW包介绍

PRAW是Python Reddit API Wrapper的缩写,是Reddit的非官方Python包。通过PRAW包,我们可以轻松地在Python中与Reddit进行交互,包括浏览、发布、修改、删除和搜索帖子,查找特定主题等。

安装PRAW包

在使用PRAW包之前,必须先安装它。打开终端并运行以下命令:

pip install praw
访问Reddit API

要使用PRAW包,必须先通过Reddit API获得访问令牌。访问Reddit API步骤如下:

  1. 转到Reddit Apps页面 并创建一个应用。应用程序类型可以是Web应用程序或其他应用程序。在创建应用程序时,Reddit会分配一个客户端ID和一个客户端机密。记下这两个值,稍后在Python代码中使用。

  2. 转到Reddit授权页面,以获取一个授权代码。在浏览器中,打开以下链接:

    https://www.reddit.com/api/v1/authorize?client_id=CLIENT_ID&response_type=code&state=RANDOM_STRING&redirect_uri=URI&duration=temporary&scope=SCOPE_STRING
    

    说明:

    • CLIENT_ID是在第1步中获得的客户端ID
    • RANDOM_STRING是一个随机生成的字符串,可用于保护您的应用程序免受CSRF攻击。
    • URI是重定向URI,接收Reddit的授权代码以便交换令牌。可以是任何URI,但必须与在Reddit应用程序页面创建应用程序时使用的URI匹配。
    • SCOPE_STRING是请求的访问范围,指定您的应用程序可以访问的资源。在本教程中,我们将使用“read”的范围,它允许我们从Reddit API读取用户及其帖子的数据。

    点击链接将向用户询问授权。用户点击“允许”后,浏览器将重定向到上述URI,并在URI的查询参数中包含一个授权代码。将此授权代码复制到Python代码中。

  3. 使用授权代码从Reddit API获取令牌。从终端运行以下命令,将获取Reddit API响应,并返回一个带有访问令牌的JSON。

    curl -X POST -d "grant_type=authorization_code&code=CODE&redirect_uri=URI" -u "CLIENT_ID:CLIENT_SECRET" https://www.reddit.com/api/v1/access_token
    

    说明:

    • CODE是在第2步中获取的授权代码。
    • URI是在第2步中使用的URI。
    • CLIENT_IDCLIENT_SECRET是在第1步中获取的凭据。

    运行命令将返回一个JSON响应,其中包含访问令牌。将此访问令牌复制到Python代码中,然后运行以下代码。

获取评论的永久链接

要从Reddit中获取评论的永久链接,我们需要使用PRAW包。打开Python IDE并输入以下代码:

import praw

reddit = praw.Reddit(client_id='CLIENT_ID', client_secret='CLIENT_SECRET', access_token='ACCESS_TOKEN', user_agent='USER_AGENT')

comment = reddit.comment('COMMENT_ID')
permalink = comment.permalink()

print(permalink)

说明:

  • CLIENT_IDCLIENT_SECRET是在第1步中获得的客户端ID和秘钥。
  • ACCESS_TOKEN是在第3步中获得的访问令牌。
  • USER_AGENT是任何字符串,用于标识您的应用程序。Reddit建议使用以下格式:<platform>:<app ID>:<version string> (by /u/<reddit username>)
  • COMMENT_ID是要获取其永久链接的评论的ID。

运行代码后,将输出评论的永久链接。将其复制到浏览器中,即可查看评论。

以上就是Python PRAW包在Reddit中获取评论的永久链接的方法。PRAW是一种非常有用的Python包,可用于在Reddit中获取各种数据,如帖子、评论、用户等。如果需要在Python中与Reddit进行交互,则使用PRAW是非常好的选择。