Невозможно извлечь теги с классами, указанными в beautifulsoup - PullRequest
1 голос
/ 08 февраля 2020

Это мой первый вопрос. Я часами читал похожие вопросы, и мне жаль, что я все еще не могу понять проблему здесь.

Я пытаюсь разобрать большое значение html, соответствующая часть которого такова:

<li class="offer-params__item">
    <span class="offer-params__label">Classe der ware</span>
    <div class="offer-params__value">
        <a class="offer-params__link" href="https://www.bla.com">Classe 1</a>
    </div>
</li>

это мой код:

soup = BeautifulSoup(data, 'lxml')

parameters = soup.findAll("li", {"class" : "offer-params__item"}) 
print(len(parameters))

for item in parameters:
    for li in item:
        code = li.find_next('span').text.split(' ', maxsplit=1)[0]
    print(code)

Кроме того, он печатает len(parameters) как ноль, он не ловит их. Я также пытался с регулярным выражением без успеха.

1 Ответ

0 голосов
/ 08 февраля 2020

Используя этот код:

from bs4 import BeautifulSoup

data = '''
<li class="offer-params__item">
    <span class="offer-params__label">Classe der ware</span>
    <div class="offer-params__value">
        <a class="offer-params__link" href="https://www.bla.com">Classe 1</a>
    </div>
</li>'''

soup = BeautifulSoup(data, 'lxml')

parameters = soup.find_all("li", {"class" : "offer-params__item"}) 
print(len(parameters))

for li in parameters:
    for sp in i.find_all('span'):
        print(sp.text.split(' ', maxsplit=1)[0])

вы получите:

1
Classe
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...