Мне предоставили этот скрипт Python для личных целей сбора изображений с веб-сайта, для которого требуется идентификатор изображения в URL-адресе, и каждое изображение имеет идентификатор по порядку и совпадает с другими идентификаторами с разницей в небольшое число. (например, одно изображение может иметь идентификатор 400.png, другое — 420.png, причем разница между этими двумя идентификаторами составляет 20). Обычно вы можете просто ввести URL-адрес в браузере, указать идентификатор изображения и его расширение (.png/.jpg) и просмотреть изображение в браузере, но тогда мне нужно будет вручную добавить +1 или -1 к номеру идентификатора. искать каждое нужное мне изображение, поэтому этот скрипт помогает мне делать это автоматически.
Код: Выделить всё
import requests
from PIL import Image
# 1719479856 is a valid sample for the variable {x}, you can check the link on a browser by replacing {x} with the ID
def writeToFile(numb, content, ext):
img = open(f"img_{numb}.{ext}", "wb")
img.write(content)
img.close()
img_final = Image.open(f"img_{numb}.{ext}")
img_final.show()
try:
x = int(input("starting val: "))
while True:
r = requests.get(url=f"https://ad-cdn.hrgame.com.cn/pvz2/upload/2024062717/{x}.jpg")
if r.status_code == 200:
print(f"found | {x}.jpg | code: {r.status_code}")
content = r.content
writeToFile(x, content, "jpg")
else:
print(f"jpg not found | {x} | code: {r.status_code}")
x += 1
except Exception as e:
print(f"error: {e}")
Однако сегодня, когда я запустил сценарий, он внезапно перестал работать, и я понятия не имею, что могло быть причиной этого. Терминал сообщит: «jpg не найден», несмотря на то, что для этого идентификатора изображения существует .jpg, более того, он доступен и просматривается в браузере, поэтому доступ не может блокироваться веб-сайтом/сервером/хостом.Сначала я думал, что это вина кода Visual Studio, но позже я понял, что это, вероятно, совсем не так, поскольку я попробовал запустить скрипт на самом cmd. Во-вторых, я пробовал разные варианты скрипта, например тот, который проверяет PNG и jpg одновременно для одного и того же идентификатора, или тот, который вместо этого проверяет PNG, но очевидно, что они не собирались работать и действительно не работали. работа. Моя единственная идея заключается в том, что это связано с веб-сайтом/сервером, и я понятия не имею, что это может быть. Есть идеи? Хотя бы какое-то подтверждение того, что это может быть вина веб-сайта/сервера?
Спасибо за ваши ответы, дайте мне знать, если я что-то неясно или делаю что-то не так. -смысл по частям.
Подробнее здесь:
https://stackoverflow.com/questions/786 ... er-working