Как вытащить изображения из кода?

Рейтинг: -1Ответов: 2Опубликовано: 11.01.2023

Не получается скачать фото и получить ссылки.

Есть сайт

https://www.gzhel.ru/catalog/novyy/detail/suvenir-valenok-slozhnaya-rospis-tirazhnoe-1-sort-sht/

пытаюсь вытащить изображения в виде ссылок и сами изображения в папку.

Вот код:

<a href="/upload/iblock/67b/e3gaxmjg12rstef270jyvlwiwzcxlhvt.png" data-fancybox="product-gallery" tabindex="-1">
  <img class="carousel-image flickity-lazyloaded" src="/upload/resize_cache/iblock/67b/644_644_140cd750bba9870f18aada2478b24840a/e3gaxmjg12rstef270jyvlwiwzcxlhvt.png" alt="" srcset="/upload/iblock/67b/e3gaxmjg12rstef270jyvlwiwzcxlhvt.png 2x">
</a>

ввожу запрос:

soup.findAll('img', class_='carousel-image')

получаю:

<img alt="" class="carousel-image" data-flickity-lazyload-src="/upload/resize_cache/iblock/a56/644_644_140cd750bba9870f18aada2478b24840a/37v3vw1t683b2jrgvq22tviy6f19zz88.jpg" data-flickity-lazyload-srcset="/upload/resize_cache/iblock/a56/1288_1288_140cd750bba9870f18aada2478b24840a/37v3vw1t683b2jrgvq22tviy6f19zz88.jpg 2x" src="data:image/svg+xml,%3Csvg viewBox='0 0 490 490' xmlns='http://www.w3.org/2000/svg'%3E%3C/svg%3E%0A"/>

а от сюда уже не могу вытащить..

Ответы

▲ 1Принят
import requests
from bs4 import BeautifulSoup

url = 'https://www.gzhel.ru/catalog/novyy/detail/suvenir-valenok-slozhnaya-rospis-tirazhnoe-1-sort-sht/'

response = requests.get(url)
html = response.text

soup = BeautifulSoup(html, 'html.parser')
img_tags = soup.find_all('img', class_='carousel-image flickity-lazyloaded')

img_links = [img['src'] for img in img_tags]

print(img_links)
▲ 0
import requests
from bs4 import BeautifulSoup

res = requests.get('https://www.gzhel.ru/catalog/stolovaya-posuda/dlya-napitkov/shtofy/detail/shtof-kazak/')
soup = BeautifulSoup(res.text, 'html.parser')
img_tags = soup.find_all('img', class_="carousel-image")

# 644 x 644
print([f"https://www.gzhel.ru{x['data-flickity-lazyload-src']}" for x in img_tags])

# 1288 x 1288
print([f"https://www.gzhel.ru{x['data-flickity-lazyload-srcset'][:-3]}" for x in img_tags])