使用python从HTML页面获取数据

时间:2019-04-25 15:54:43

标签: python python-3.x beautifulsoup

我想使用python和漂亮的汤从下面的标签中获取值100

<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 个答案:

答案 0 :(得分:3)

您可以获得soup.contents的第一个元素:

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

输出:

'100'

答案 1 :(得分:3)

只需找到<b>标签,它就会给您100。

data = soup.find('span',style=re.compile('font-size:90%'))
value = data.find('b').text