Я очень новичок в коде, так что простите любые ошибки, которые я делаю в объяснении!Я пытаюсь написать код на python, который использует Praw для доступа к / r / pics subreddit, очищает исходные URL и отображает их с помощью urllib, cv2 и numpy.
В настоящее время мой код выглядит следующим образом:
import praw
import numpy as np
import urllib
import cv2
# urllib set-up
def reddit_scrape(url):
resp = urllib.request.urlopen(url)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
return image
# reddit set-up
reddit = praw.Reddit(client_id = 'id',
client_secret = 'secret',
user_agent = 'agent')
subreddit = reddit.subreddit('pics')
hot_pics = subreddit.hot(limit=10)
for submission in hot_pics:
if not submission.stickied:
print(submission.url)
# print images
urls = [submission.url]
for url in urls:
image = reddit_scrape(url)
cv2.imshow('image', image)
cv2.waitKey(0)
Моя проблема при запуске заключается в том, что, хотя в строке print (submission.url) печатается полный список из 10 лучших сообщений, толькопоследний URL в списке фактически открыт и отображается.
Я предполагаю, что ошибка лежит где-то в моем определении
urls = [submission.url]
Но я не могу определить 'urls' как статический список URL, потому что горячий список меняетсявремя.
Что я делаю не так?Есть ли даже правильный способ сделать это?Любая помощь будет принята с благодарностью.