@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, помогите исправить.
  • Вопрос задан
  • 48 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Не вижу, где в приведенном коде генерируется randomInt.
Подозреваю, что ты генерируешь его один раз в начале файла, и более не обновляешь.
Как следствие, для разных ссылок это число оказывается одним и тем же. А значит, и имя файла будет одним и тем же.
random_number.png

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

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

Войти через центр авторизации
Похожие вопросы