#python-3.x #beautifulsoup
#python-3.x #beautifulsoup
Вопрос:
Я пытаюсь извлечь значение 86830
из исходного кода HTML с помощью bs4. Вот что у меня есть до сих пор:
page = requests.get("https://www.sunnyportal.com/Templates/PublicPage.aspx?page=1169a2ff-8f51-4ea9-ba72-316009593c62")
soup = BeautifulSoup(page.content, 'html.parser')
Теперь я пытаюсь извлечь идентификатор диапазона с этим значением:
pv_current = soup.find("span", attrs = {"class" : "mainValueAmount"})
print(pv_current)
И результат, который я получаю,
<span class="mainValueAmount" data-peak="164610" data-timestamp="2020-10-27T10:30:00" data-value="86830">-</span>
Мой вопрос в том, как мне извлечь это значение 86830
? Спасибо.
Ответ №1:
data-value
является attribute
частью span
тега. Вы должны использовать квадратные скобки, чтобы извлечь значения атрибутов из тега. Вот как вы это делаете:
value = pv_current['data-value']
print(value)
Вывод:
86830
Вот полный код:
from bs4 import BeautifulSoup
import requests
page = requests.get("https://www.sunnyportal.com/Templates/PublicPage.aspx?page=1169a2ff-8f51-4ea9-ba72-316009593c62")
soup = BeautifulSoup(page.content, 'html.parser')
pv_current = soup.find("span", attrs = {"class" : "mainValueAmount"})
value = pv_current['data-value']
print(value)