@sashx

Как спарсить такой класс?

Здравствуйте! Есть вот такой фрагмент html:

<div class="action-card__img-wrapper d-flex justify-content-center">
	        <a href="shelving/arxivnyie/ms-500-stellazh-500-1000-300-na-3-polki.html" class="text-decoration-none d-flex">
	        						<img src="/assets/components/phpthumbof/cache/stellazh-na-3-polki-1.fb8d3b6bc227eb1e0e561fb80c2580e7.jpg" data-src="/assets/images/products/9407/small/stellazh-na-3-polki-1.jpg" class="action-card__img align-self-center lazy" alt="Стеллаж металлический Pro Стеллаж  LN ВШГ - 500х1000х300 на 3 полки с нагрузкой до 100 кг на полку" title="Стеллаж металлический Pro Стеллаж  LN ВШГ - 500х1000х300 на 3 полки с нагрузкой до 100 кг на полку">
          </a>
 </div>


И код на Python:

from bs4 import BeautifulSoup as bs
import requests

URL_TEMPLATE = "https://stillage.pro/shelving/arxivnyie/"
r = requests.get(URL_TEMPLATE)

print(r.text)
soup = bs(r.text,"html.parser")
vacancies_names = soup.find_all('div', class_='action-card__img align-self-center lazy')
for name in vacancies_names:
    print(name.a['title'])


Но при этом код завершается с пустой строкой. Почему? Есть ли проблема в коде?
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 2
SoreMix
@SoreMix Куратор тега Python
yellow
В find_all передаете имя тега как div, а классы скопировали с img
Ответ написан
Комментировать
YOin
@YOin
Data Analyst
попробуйте такую конструкцию
soup.find_all('div', attrs={'class':'action-card__img align-self-center lazy'})

порой этот варинат рабочий, а тот что описан вами - нет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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