python - 使用python从HTML页面获取数据
问题描述
我想使用 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
解决方案
您可以获得的第一个元素soup.contents
:
from bs4 import BeautifulSoup as soup
d = soup(page, 'html.parser').find('span', {'style':'font-size:90%'}).contents[0].text
输出:
'100'
推荐阅读
- sql-server - 为什么在 docker-compose up 构建期间找不到 sqlcmd?
- python - 如何发送python套接字字节和字符串?
- javascript - React Router 参数无法与 tomcat 一起正常工作
- javascript - checkvalidity 没有检测到错误的值
- javascript - 如何将输入值设置为 redux reducer 文件中的状态?
- julia - 如何获得矩阵形式的 linsolve 解决方案?
- javascript - 响应式更新 vuejs 中的 V-if
- php - php文件下载而不是解析,问题从服务器解决,老用户现在还在继续下载
- swift - 在 Swift 中使用按钮关闭模式视图?
- c# - 我如何满足这些数字舍入标准?