2016-07-07 60 views
2

我正在使用下面的代码提交自己的帖子。一旦提交,我想将该帖子的网址存储在一个变量中。我是python和praw的新手,所以我很可能错过了一些明显的东西。当通过praw提交帖子时,如何返回该帖子的网址?

import praw 

sub_reddit = 'test' 
user_agent = 'user agent info' 
post_title = 'post title text' 
post_body = 'post body text' 

r = praw.Reddit(user_agent=user_agent) 

def login(): 
    r.login('USERNAME', 'PASSWORD') 

def self_post(): 
    r.submit(sub_reddit, post_title, text=post_body) 

login() 
self_post() 

通过我发现this的文件,指出.submit的回报如下展望:

“新创建的对象提交如果reddit的实例 可以访问它,否则,返回url提交

如果是这样的话,我该如何得到那个链接?我不能运行很多不同的测试,因为API对提交有限制,所以我一直阻止从t传递新事物。

回答

1

返回的响应,并将其分配给一个变量:

def self_post(): 
    return r.submit(sub_reddit, post_title, text=post_body) 

login() 
resp = self_post() 
1

您提交的链接后,您可以使用.short_link获得的URL提交:

submission = r.submit(sub_reddit, post_title, text=post_body) 
submission.short_link