Ошибка при использовании Reddit и Tumblr API для получения URL-адреса Reddit и публикации его как изображения в tumblr

Я пишу сценарий, который берет некоторые сообщения из указанного субреддита, а затем использует этот URL-адрес для создания сообщения с изображением на tumblr с использованием обоих сайтов api и python. Моя проблема в том, что когда я пытаюсь получить URL-адрес из reddit для публикации в tumblr, моя программа вместо этого печатает URL-адрес случайного сабреддита (всегда URL-адрес https://www.reddit.com/r/accidentallyliberian/), мне было интересно, в чем ошибка в моем коде и почему он печатает этот URL-адрес а не тот, который я указал в своем операторе if относительно строк, содержащих'.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)

Привет, если он печатает случайный URL-адрес субреддита, как он всегда может быть / r / случайноliberian. Либо это случайно, либо нет? Также заметил, if '.img' or '.png' in submission.url: не будет работать, вам нужно, если .img в submisison.url или .png в submission.url

Shardj 01.11.2018 16:51

Спасибо за совет, поэтому я исправил эту проблему с помощью «или», но теперь я считаю, что запрашиваемые мной URL-адреса относятся к самому сообщению, которое не оканчивается на .jpg. или .png, что мешает мне проанализировать эти URL-адреса и затем опубликовать изображение в tumblr. Итак, я предполагаю, что мой вопрос теперь в том, как мне использовать креветку, чтобы получить URL-адрес изображения, а не URL-адрес сообщения?

grateful_math 01.11.2018 21:20

Это может помочь stackoverflow.com/questions/15445199/…

Shardj 01.11.2018 21:24

Большое вам спасибо, что должно заставить меня двигаться в правильном направлении.

grateful_math 01.11.2018 21:30
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
4
45
0

Другие вопросы по теме