如何从 PRAW 中的提交对象获取 url?

amo*_*ian 5 python praw

我正在使用 PRAW 创建一个每天提交一次内容的 Reddit 机器人。提交后我想保存提交的 url 并将其写入文本文件。

url = r.submit(subreddit, submission_title, text=submission_text)
Run Code Online (Sandbox Code Playgroud)

以上返回一个提交对象,但我想要实际的网址。有没有办法从提交对象中获取 url,或者我是否需要做其他事情来获取 url?

Tan*_*ash 7

submission.shortlink(以前.short_link)是您正在寻找的,如果submission.permalink还不够好。

reddit = praw.Reddit("Amos")
submission = reddit.get_submission(submission_id="XYZ")
print submission.permalink
>>> www.reddit.com/r/subreddit/comments/XYZ
Run Code Online (Sandbox Code Playgroud)


Sar*_*kin 6

我看到@TankorSmash 已经回答了您的问题,尽管我想我可能会添加一些基础知识以供将来参考:

如果您使用“ dir(object) ”,您将能够看到与 Reddit API 相关的属性和方法(您可以使用它来测试和查看影响正在测试的给定对象的所有属性)。您可以忽略以下划线开头的所有内容(很可能)。

一个例子是:

submissionURL = submission.url
Run Code Online (Sandbox Code Playgroud)

或者您可以直接访问PRAW 获取数据的来源。变量名称不是由 PRAW 设置的,它们来自这个 JSON(上面链接)。