python-3.x - 在带有标题文本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 的名称会根据记录动态更改,并且每次都会在不同的位置结束。我只需要每条记录的名称值。
解决方案
试试这种方式:
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)
输出:
乔·史密斯
推荐阅读
- javascript - 如何在 redux 辅助函数中引用反应组件的状态
- python - pygame 的主循环不起作用,pygame 立即退出
- javascript - 为什么 componentDidMount 中的这个异步调用会影响组件挂载的时间?
- java - 这一行交换了两个变量,但它是怎么做的呢?
- solr - Solr 中的版本控制
- javascript - 为什么在这条线上没有任何东西记录到控制台,但它周围的一切都有效?
- java - JButton 的位置与其 JPanel 不同
- .net - .Net 核心服务写入错误的事件日志
- php - How to POST data using AJAX from one form when there are multiple forms on the same page?
- laravel - 我在用户和角色之间有关系,但我不断收到这个错误 undefined index role