Попытка получить текст между этим тегом, но получить пустой список - PullRequest
0 голосов
/ 25 февраля 2019

\ Пытаясь получить тексты A Plus и Компьютеры из этого html:

<div class="u-space-t1">
        <h1 class="biz-page-title embossed-text-white shortenough">A Plus</h1>
        <div class="u-inline-block">
            <h1 class="biz-page-title\ embossed-text-white\ shortenough">Computers</h1>
            <div class="u-inline-block"> 

Поэтому я попытался получить текст, подобный этому:

c = soup.findAll('h1',{"class":"biz-page-title embossed-text-white shortenough"})

print(c)

Однако я получаюпустой список

Я также пытался сделать это:

c = soup.find('div', class_='u-inline-block').h1

Я получаю объект «Нетип» не найден.

Ответы [ 2 ]

0 голосов
/ 26 февраля 2019

Попробуйте это:

html = """
<div class="u-space-t1">
        <h1 class="biz-page-title embossed-text-white shortenough">A Plus</h1>
        <div class="u-inline-block">
            <h1 class="biz-page-title\ embossed-text-white\ shortenough">Computers</h1>
            <div class="u-inline-block"> 
"""

soup = bs4(html, 'lxml')
for i in soup.find_all('h1'):
    print(i.text)

Вывод:

A Plus
Computers
0 голосов
/ 25 февраля 2019

Сделайте это так.

texts = soup.select("div > h1, div > div > h1")
for text in texts:
    print(text.text)

"A Plus" и "Компьютеры" выйдут.

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