Получить данные со страницы HTML с помощью Python - PullRequest
1 голос
/ 25 апреля 2019

Я бы хотел получить значение 100 из тега ниже, используя python и красивый суп

<span style="font-size:90%"><b>100</b> <cite style="color:#cc0000"><b>-0.10</b> (0.52%)</cite></span>

Приведенный ниже код дает мне следующий вывод

100 -0.10 (0.52%)

Как мне извлечь только значение 100?

Код:

from urllib.request import Request, urlopen
import bs4 
import re

url =  'url.com'
req = Request(url, headers = {'User-Agent': 'Mozilla/5.0'})
page = urlopen(req).read()
soup = bs4.BeautifulSoup(page, 'html.parser')
data = soup.find('span',style=re.compile('font-size:90%'))
value = data.text

Ответы [ 2 ]

3 голосов
/ 25 апреля 2019

Просто найдите тег <b>, он даст вам 100.

data = soup.find('span',style=re.compile('font-size:90%'))
value = data.find('b').text
3 голосов
/ 25 апреля 2019

Вы можете получить первый элемент soup.contents:

from bs4 import BeautifulSoup as soup
d = soup(page, 'html.parser').find('span', {'style':'font-size:90%'}).contents[0].text

Выход:

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