Извлеките значение 'class' из тега div, используя Beautiful Soup - PullRequest
0 голосов
/ 20 мая 2018

с использованием Python 3.6.5.

<div class="abcabcd13"></div>  
<div class="abcabcd74"></div>  
<div class="abcabcd123"></div>  

Выше приведен HTML-код, который мне удалось извлечь с помощью BeautifulSoup 4, и мне удалось присвоить их список переменной с помощью: x = soup.select('div[class*=abcab]'),, которая создает список элементовкак <div class="abcabcd13"></div>.Как извлечь только значение класса?Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 мая 2018

Вы можете попробовать использовать селекторы, чтобы получить требуемый вывод:

from bs4 import BeautifulSoup

page = """\
<div class="abcabcd13"></div>  
<div class="abcabcd74"></div>  
<div class="abcabcd123"></div>  
"""
soup = BeautifulSoup(page, 'lxml')
classlist = [' '.join(item.get('class')) for item in soup.select("[class^='abcabcd']")]
print(classlist)

Вывод:

['abcabcd13', 'abcabcd74', 'abcabcd123']
0 голосов
/ 20 мая 2018

Вот как я это сделал:

from bs4 import BeautifulSoup
page = """<div class="abcabcd13"></div>  
          <div class="abcabcd74"></div>  
          <div class="abcabcd123"></div>  """
soup = BeautifulSoup(page, 'lxml')
divs = soup.findAll("div")
classes = []
for y in divs:
    classes.append(y["class"])
print(classes)

, в котором напечатаны три класса.

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