Получение значения из тега кнопки - PullRequest
0 голосов
/ 25 марта 2019

Я пытаюсь решить проблему извлечения страниц на странице с помощью BeautifulSoup.

Мне удалось получить кнопки с

soup.findAll('button', class_='SomeName')

, которые бы дали мне это

<button class="SomeName" data-page="2" type="button">2</button>, <button class="SomeName" data-page="3" type="button">3</button>, <button class="SomeName" data-page="4" type="button">4</button>, <button class="SomeName" data-page="5" type="button">5</button>, <button class="SomeName" data-page="6" type="button">6</button>, <button class="SomeName" data-page="7" type="button">7-12</button>

Я хотел бы получить список чисел

2
3
4
5
6
7-12

Ответы [ 2 ]

2 голосов
/ 25 марта 2019

Вы можете получить текст между тегами кнопок:

from bs4 import BeautifulSoup as soup
html = '<button class="SomeName" data-page="2" type="button">2</button>, <button class="SomeName" data-page="3" type="button">3</button>, <button class="SomeName" data-page="4" type="button">4</button>, <button class="SomeName" data-page="5" type="button">5</button>, <button class="SomeName" data-page="6" type="button">6</button>, <button class="SomeName" data-page="7" type="button">7-12</button>'
result = [i.text for i in soup(html, 'html.parser').find_all('button')]

Вывод:

['2', '3', '4', '5', '6', '7-12']
1 голос
/ 25 марта 2019

Вы также можете использовать селекторы CSS

output = [button.text for button in soup.select('button.SomeName')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...