Я пишу скрипт, который берет несколько сообщений из указанного 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)