@sagisuu

При сохранении картинки через requests она перезаписывается, а не создаётся в виде нового файла. Как исправить?

Есть код для парсинга и скачивания картинки со случайного адреса yapx.

match linkType:
	case 1:
		for n in range(amount):
			url, returnAttr = yapxLink1()

			response = requests.get(url, headers=headers)
			statusCode = int(response.status_code)
			if statusCode == 410:
				zxc = ''
			else:
				print(f'[{url}] Изображение загружено.')
				html = response.text
				soup = BeautifulSoup(html, 'html.parser')
				pic = soup.find('img', class_='lazy js__tiny-lazy height-regulator')
				picUrl = pic['src']
			
				r = requests.get(picUrl, headers=headers)
				with open(f"picture {randomInt}.jpg", "wb") as f:
					f.write(r.content)


Всё работает, но при сохранении картинка просто перезаписывается, а не создаётся в виде нового файла. Добавил генератор случайных чисел в названии, думал сработает, но нет. Использую requests, BeautifulSoup. Я новичок в Python, помогите исправить.
  • Вопрос задан
  • 52 просмотра
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Не вижу, где в приведенном коде генерируется randomInt.
Подозреваю, что ты генерируешь его один раз в начале файла, и более не обновляешь.
Как следствие, для разных ссылок это число оказывается одним и тем же. А значит, и имя файла будет одним и тем же.
random_number.png

Генери число при обработке каждой ссылки, и будет тебе счастье... до первой коллизии, т.е. пока два рандомных числа не совпадут.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы