使用Reddit和Tumblr API接收Reddit url并将其作为Tumblr imag发布时出错

2024-10-03 21:31:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个脚本,从指定的subreddit获取一些帖子,然后使用该url在tumblr上使用api和python站点创建一个图像帖子。我的问题是,当我尝试从reddit检索url以发布到tumblr时,我的程序会打印随机子reddit的url(总是urlhttps://www.reddit.com/r/accidentallyliberian/),我想知道代码中的错误是什么,为什么它会打印该url,而不是我在if语句中指定的关于url中包含“.img”或“.png”的字符串的url

import praw
import json
import pytumblr

reddit = praw.Reddit(client_id='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                     client_secret='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                     password='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                     user_agent='url grabber by /u/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
                     username='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')

oauth_token = 'http://www.tumblr.com/oauth/request_token'
AUTHORIZATION_URL = 'http://www.tumblr.com/oauth/authorize'
ACCESS_TOKEN_URL = 'http://www.tumblr.com/oauth/access_token'
consumer_key = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
consumer_secret = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'

client = pytumblr.TumblrRestClient(
  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
  'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
)

#print(reddit.user.me())
def get_post_url(subreddit, amount):
    for submission in reddit.subreddit(subreddit).hot(limit = amount):
        if '.img' or '.png' in submission.url:
            client.create_photo('username', state="published", tags=["testing", "ok"],
                                source = submission.url)
            #urllib.request.urlretrieve(submission.url, filename)

            print(submission.url)
        else:
            print('')


if __name__ == '__main__':
    get_post_url('funny', 1)

Tags: importcomclienttokenhttpurlsubmissionif