首页 > 解决方案 > 使用部分文本获取标签的值

问题描述

我正在尝试仅使用示例中的部分文本来获取“数据值”标签的值 - 大小(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'))

但它只返回包含大小的字符串。

标签: pythonbeautifulsoup

解决方案


尝试这样的事情:

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


推荐阅读