首页 > 解决方案 > 在带有标题文本Python / bs4的动态类之后获取文本

问题描述

带有文本“Owner 1”的类“标签”会动态变化,因此索引相同的类名并不一致。我正在尝试在类文本标签之后获取名称“Joe Smith”。一些记录首先有“公司名称”。

    <div>
        <div class="label">Owner 1 Name</div>
        <div class="value">
        <div>Joe Smith</div>
    </div>
    <div>
        <div class="label">Company Name</div>
        <div class="value">
        <div>ACME CO</div>
    </div>

像上面的代码一样,大约有十个“标签”类。所有者 1 的名称会根据记录动态更改,并且每次都会在不同的位置结束。我只需要每条记录的名称值。

标签: python-3.xbeautifulsoup

解决方案


试试这种方式:

company = """your html above"""

from bs4 import BeautifulSoup as bs

soup = bs(company,'lxml')
target = soup.select('div[class="label"]:contains("Owner")+div>div')
print(target[0].text)

输出:

乔·史密斯


推荐阅读