Ошибка при использовании Reddit и Tumblr API для получения URL-адреса reddit и публикации его в качестве изображения Tumblr - PullRequest
0 голосов
/ 01 ноября 2018

Я пишу скрипт, который берет несколько сообщений из указанного subreddit, а затем использую этот URL для создания поста изображения на Tumblr, используя оба сайта API и Python. Моя проблема заключается в том, что когда я пытаюсь получить URL-адрес из reddit для публикации в Tumblr, моя программа вместо этого печатает URL-адрес случайного subreddit (всегда url https://www.reddit.com/r/accidentallyliberian/), мне было интересно, что это за ошибка в моем коде и почему она печатает этот URL, а не тот, который я указал в моем операторе if, касающемся строк, содержащих в URL-адресе «.img» или «.png».

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)
...