繁体   English   中英

如何使用beautifulsoup python在HTML列表中提取文本

[英]How to extract text within HTML lists using beautifulsoup python

我正在尝试编写一个可以在html列表之间提取文本的python程序。 我想提取诸如精装书和页数之类的信息。 有人知道此操作的命令吗?

<h2>Product Details</h2>
  <div class="content">
<ul>

<li><b>Hardcover:</b> 156 pages</li>

<li><b>Publisher:</b> Insight Editions; Har/Pstr edition (June 18, 2013)</li>

<li><b>Language:</b> English</li>

<li><b>ISBN-10:</b> 1608871827</li>
<li><b>ISBN-13:</b> 978-1608871827</li>

为了解析其他信息,我使用了:

definition in soup.findAll('span', {"class":'bb_price'}):
definition = definition.renderContents() 

但不适用于这种情况。

通过text找到b标签并获取next_sibling

工作示例:

from bs4 import BeautifulSoup

data = """<h2>Product Details</h2>
  <div class="content">
<ul>

<li><b>Hardcover:</b> 156 pages</li>

<li><b>Publisher:</b> Insight Editions; Har/Pstr edition (June 18, 2013)</li>

<li><b>Language:</b> English</li>

<li><b>ISBN-10:</b> 1608871827</li>
<li><b>ISBN-13:</b> 978-1608871827</li></ul></div>"""

soup = BeautifulSoup(data)

print soup.find('b', text='Hardcover:').next_sibling
print soup.find('b', text='Publisher:').next_sibling

打印:

156 pages
Insight Editions; Har/Pstr edition (June 18, 2013)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM