python - 如何提取html li标签
问题描述
我想在 (li-label-span) 标签下提取特定的“英文”文本。我应该怎么做beautifulsoup
?如果有人来帮忙......你能为这个特定问题写一些代码吗?
<div class="biblio-info-wrap">
<h2 class="biblio-title">
Product details</h2>
<ul class="biblio-info">
<li>
<label>Publication date</label>
<span itemprop="datePublished">18 Feb 2021</span>
</li>
<li>
<label>Publication City/Country</label>
<span>
Edinburgh, United Kingdom</span>
</li>
***<li>
<label>Language</label>
<span>
English</span>
</li>***
<li>
<label>Edition Statement</label>
<span>Main</span>
</li>
<li>
<label>ISBN10</label>
<span>1786892731</span>
</li>
</ul>
</div>
解决方案
如果html_doc
包含您问题中的 HTML 代码,您可以执行以下操作:
soup = BeautifulSoup(html_doc, "html.parser")
print(
soup.find("label", text="Language").find_next("span").get_text(strip=True)
)
印刷:
English
或者使用 CSS 选择器:
print(
soup.select_one('label:-soup-contains("Language") + span').get_text(
strip=True
)
)
推荐阅读
- c++ - c++中面向对象设计和dll接口的问题。您如何看待这个解决方案?
- python - 如何使用正则表达式选择字符串的这个特定部分?
- javascript - ReactJS:对 setState 进行计算并更新
- c# - 如何将 ComboBox 添加到 Binding DataGridView 上的特定列?
- javascript - 在多维数组中比较以找到在其他多维数组中使用的正确索引失败
- nosql - 有可能用键值将数据存储在 HDFS 中吗?
- java - Eclipse e4 导出 - build.xml:执行此行时出现问题:
- apache-drill - Apache Drill Kudu 查询不支持范围 + 哈希多级分区
- camunda - HTTP-CONNECTOR 之间的 Camunda-Pass 参数
- android - 无法在 Flutter 中设置 DropdownMenuItem 内的自定义列表