python - 使用部分文本获取标签的值
问题描述
我正在尝试仅使用示例中的部分文本来获取“数据值”标签的值 - 大小(EU:41,5),但我不知道该怎么做。
有网站的html代码。
<a class="m-productDescr_sizeBtn js-sizeItem js-tooltipHtml js-tooltip_rm" data-tip=" <span> US: 8,5 </span>
<span> EU: 41,5 </span>" data-value="787631046" data-carturl="/cart/add?id=787631046" data-hasqtip="1" aria-describedby="qtip-1">
41,5
</a>
我试过这样做
soup.find_all(string=re.compile('EU: 41,5'))
但它只返回包含大小的字符串。
解决方案
尝试这样的事情:
val = """your html above"""
from bs4 import BeautifulSoup as bs
soup = bs(val,'lxml')
dvs = soup.select('a[data-value]')
for dv in dvs:
print(dv['data-value'])
输出:
787631046
推荐阅读
- java - 如何自动从 Firebase 中删除?
- algorithm - 为什么渐近复杂性类比不起作用?
- python-3.x - 包裹在函数中时 Python 代码变慢
- c# - 如何在 ASP.NET Core 中路由以删除错误 404 Not found
- string - 如何知道这个文件的编码?
- elixir - 如何通过 Ecto Multi 从先前插入的表键中检索 id
- ios - 如何从标签栏控制器更改标签栏项目
- python - Python PLY Parser - 将矩阵解析为列表列表
- python - QApplication 模块的 PyQt5 问题
- asp.net-core - 实体框架核心 2.1。使用大量子对象更新对象的正确方法