@vasiliy763
IT engineer

Ка получить данне с сайта с помощью BeautifulSoup?

Ниже указан код страницы который необхолдимо спарсить циклом из a в блоке div (Италия,белое, полусухое и т.д. ), для дальнейшей запии в CSV фал.

написал вот такой код :

product_data = soup.find(class_="product-snippet__info").find_all('div')
        for item in product_data:
            product_tds = item.find_all("a")
            title = product_tds[0].find("a").text
            title = product_tds[1].find("a").text
            title = product_tds[2].find("a").text
            title = product_tds[3].find("a").text
            title = product_tds[4].find("a").text
            title = product_tds[5].find("a").text
            title = product_tds[6].find("a").text
            title = product_tds[7].find("a").text


Но возникает ошибка что данные ненайдены ( title = product_tds[0].find("a").text
AttributeError: 'NoneType' object has no attribute 'text')

Подскажите, где я ошибся ?

#<div class="product-snippet__info">
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Страна:</span>
#
#                                                                                                   <a href="/catalog/vino/filter/country-italiya/">Италия</a>
#                                                          </div>
#                                                 <div class="product-snippet__info-item">
#                            <span class="product-snippet__info-title">Цвет:</span>
#
#                                                                                                   <a href="/catalog/vino/filter/color-beloe/">белое</a>
#                                                            </div>
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Сахар:</span>
#
#                                                                                                    <a href="/catalog/vino/filter/sugar_type-polusukhoe/">полусухое</a>
#                                                            </div>
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Объем:</span>
#
#                                                                                                    <a href="/catalog/vino/filter/volume-0_75/">0.75&nbsp;л.</a>
#                                                            </div>
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Виноград:</span>
#
#                                                                <a href="/catalog/vino/filter/grape-muskat_zheltyy/">мускат желтый 100%</a>                                                            </div>
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Производитель:</span>
#
#                                                                                                    <a href="/catalog/vino/filter/manufacturer-colterenzio/">Colterenzio</a>
#                                                            </div>
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Регион:</span>
#
#                                                                                                    <a href="/catalog/vino/filter/region-trentino_alto_adidzhe/">Трентино-Альто Адидже</a>
#                                                            </div>
#                                                    <div class="product-snippet__info-item">
#                                <span class="product-snippet__info-title">Стилистика:</span>
#
#                                                                                                    белое - яркое, из ароматических сортов винограда                                                            </div>
#                                            </div>
#                    <!-- #INFO -->
#                
#                            </div>
#            <!-- #DETAIL -->
#        </div>
#    </div>
#    <!-- #TOP PART -->
  • Вопрос задан
  • 73 просмотра
Пригласить эксперта
Ответы на вопрос 1
SoreMix
@SoreMix Куратор тега Python
yellow
Потому что в этом блоке
product_tds = item.find_all("a")
title = product_tds[0].find("a").text


Уже нашли тег a и внутри него опять ищете тег a

title = product_tds[0].text

Плюс, в принципе все циклы запутаны. product_tds всегда будет содержать один элемент. Потому что он лежит внутри одного из восьми вложенных div. Так что переделываем логику в принципе
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы