Не выводятся данные в терминале

Рейтинг: 0Ответов: 1Опубликовано: 22.07.2025

Я пытаюсь парсить каталог сайта DNS (просто в качестве обучения), но у меня не выводятся нужные данные в терминал. Вот мой код:

import requests
from bs4 import BeautifulSoup

url = 'https://www.dns-shop.ru/catalog/17a892f816404e77/noutbuki/?f[4op]=21'

headers = {'User-Agent': '<здесь мой юзер-агент>'}

response = requests.get(url, headers=headers)

soup = BeautifulSoup(response.text, 'lxml')

cards = soup.find_all('div', class_="catalog-product ui-button-widget")

for card in cards:

    description = card.find('a', class_='catalog-product__name ui-link ui-link_black').find('span').text
    url_img = card.find('img', class_='loaded').get('src')
    price = card.find('div', class_='product-buy__price').text

    print(description, url_img, price)

Все ссылки, названия блоков, классов я перепроверил несколько раз, всё правильно, сам код ошибок не выдаёт, синтаксически всё верно, но почему-то Python упорно не хочет выводить текст находящийся в данных дивах в терминал

Ответы

▲ 2

Скорее всего, ошибка на этом шаге:

url_img = card.find('img', class_='loaded').get('src')

На странице нет элементов img с классом loaded. Они появляются позднее.