#html #beautifulsoup #discord.py
#HTML #beautifulsoup #discord.py
Вопрос:
У меня есть следующий HTML-код:
<button class="btn btn-raised btn-success" id="button-copy-number" onclick='copyToClipboard("123456")' type="button">Copy number to clipboard</button>
Как я могу получить номер с кнопки?
Ответ №1:
Вы можете использовать этот пример для извлечения числа из onclick=
атрибута:
from bs4 import BeautifulSoup
html_doc = '''<button class="btn btn-raised btn-success" id="button-copy-number" onclick='copyToClipboard("123456")' type="button">Copy number to clipboard</button>'''
soup = BeautifulSoup(html_doc, 'html.parser')
# 1. locate the button
btn = soup.select_one('#button-copy-number')
# 2. get the onclick= attribute
txt = btn['onclick']
# 3. get the number
n = int(txt.split('"')[-2])
print(n)
С принтами:
123456
Или: с помощью re
модуля:
import re
from bs4 import BeautifulSoup
html_doc = '''<button class="btn btn-raised btn-success" id="button-copy-number" onclick='copyToClipboard("123456")' type="button">Copy number to clipboard</button>'''
soup = BeautifulSoup(html_doc, 'html.parser')
btn = soup.select_one('#button-copy-number')
txt = btn['onclick']
n = int(re.search(r'(d )', txt).group(1))
print(n)