Ошибка в коде парсера на Python
import requests
from bs4 import BeautifulSoup
from time import sleep
list_card_url = []
url = 'https://klust.clients.site/catalog/sellers/5086264?utm_campaign=vendor_org_767133_17119324_15484252650386489343&utm_referer=geoadv_direct&utm_ya_campaign=30012865984&yabizcmpgn=17119324&utm_source=geoadv_direct&utm_candidate=59133359806&utm_content=15649261735&yclid=15484252650386489343'
headers = {'User-Agent': '<здесь мой юзер-агент>'}
for count in range(1, 240, 16):
sleep(3)
url = 'https://klust.clients.site/catalog/sellers/5086264?utm_campaign=vendor_org_767133_17119324_7211523145635463167&utm_referer=geoadv_direct&utm_ya_campaign=30012865984&yabizcmpgn=17119324&utm_source=geoadv_direct&utm_candidate=59133359806&utm_content=15649261735&yclid=7211523145635463167&limit=16&offset={count}'
response_html = requests.get(url, headers=headers)
soup_html = BeautifulSoup(response_html.text, 'lxml')
cards = soup_html.find_all('div', class_='card_container__6nTkC')
for card in cards:
card_url = 'https://klust.clients.site' + card.find('a').get('href')
list_card_url.append(card_url)
for card_url in list_card_url:
response_card = requests.get(card_url, headers=headers)
soup_card = BeautifulSoup(response_card.text, 'lxml')
expanded_card = soup_card.find('div', class_='offerItemMarketplace_item__AiSUE')
name = expanded_card.find('div', class_='productWithPrice_title__e429Q').text
counted_price = expanded_card.find('div', class_='productWithPrice_price__yfkj2').text
price_without_discount = expanded_card.find('div', class_='productWithPrice_old-price__q38O7').text
img_links = expanded_card.find_all('img', class_='image_image-with-skeleton-img__A_a5F').get('src')
specifications = expanded_card.find_all('div', class_='characteristics_name__JzYCT').text
result_specifications = expanded_card.find_all('div', class_='characteristics_value__0IhVc').find('div').text
print(name + '\n' + counted_price + '\n' + price_without_discount + '\n' + img_links + '\n' + specifications + '\n' + result_specifications + '\n\n')
Как я только не пытался подправить свой же код, не могу понять как исправить данную ошибку:
Traceback (most recent call last):
File "D:\Python\test\Pars\ParserMarket.py", line 39, in <module>
img_links = expanded_card.find_all('img', class_='image_image-with-skeleton-img__A_a5F').get('src')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\home\AppData\Local\Programs\Python\Python312\Lib\site-packages\bs4\element.py", line 2885, in __getattr__
raise AttributeError(
AttributeError: ResultSet object has no attribute "get". You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?
Источник: Stack Overflow на русском