Я очень новичок в программировании, поэтому простите любые ошибки, которые я делаю в объяснении! Я пытаюсь написать код на python, который использует Praw для доступа к субреддиту / r / pics, очищает исходные 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-адресов, потому что горячий список со временем меняется.
Что я делаю не так? есть ли даже правильный способ сделать это? Любая помощь будет принята с благодарностью.