【问题标题】:Inline parsing in BeautifulSoup in PythonPython中BeautifulSoup中的内联解析
【发布时间】:2010-01-22 22:35:24
【问题描述】:

我正在使用 BeautifulSoup 编写 HTML 文档,我希望它不会将内联文本(例如 <p> 标记内的文本)拆分为多行。我得到的问题是用 prettify 解析 <p>a<span>b</span>c</p> 会给我输出

<p>
  a
<span>
b
</span>
c
</p>

现在 HTML 在 a、b、c 之间显示空格,这是我不想要的。我该如何避免这种情况?

【问题讨论】:

    标签: python beautifulsoup html


    【解决方案1】:

    不使用prettify 怎么样?

    BeautifulSoup.BeautifulSoup('<p>a<span>b</span>c</p>').renderContents()
    

    输出没有多余空格的原始 HTML。您可以使用例如Firebug 稍后可以仔细查看文档的结构,而无需在构建时对其进行“美化”。

    【讨论】:

      【解决方案2】:

      我会这样做:

      from BeautifulSoup import BeautifulSoup
      
      ht = '<p>a<span>b</span>c</p>'
      soup = BeautifulSoup(ht)
      print soup
      

      并避免获得任何额外的空格。 prettify 的工作就是调整空白以清晰显示 HTML 解析树的结构,毕竟...!

      【讨论】:

        猜你喜欢
        • 2012-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-02-06
        • 2011-05-03
        • 2014-03-06
        • 2014-06-16
        • 2011-07-21
        相关资源
        最近更新 更多