【问题标题】:How to extract text within HTML lists using beautifulsoup python如何使用 Beautifulsoup python 在 HTML 列表中提取文本
【发布时间】:2014-04-25 21:08:20
【问题描述】:

我正在尝试编写一个可以在 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() 

但它不适用于这种情况。

【问题讨论】:

    标签: python html parsing html-parsing beautifulsoup


    【解决方案1】:

    通过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)
    

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-22
      • 1970-01-01
      • 1970-01-01
      • 2021-07-12
      • 1970-01-01
      相关资源
      最近更新 更多