我正在使用BeautifulSoup(Python 3.4版本'4.3.2')将html文档转换为文本。我遇到的问题是,有时网页中的换行符“ \ n”实际上不会在浏览器中显示为换行符,但是当BeautifulSoup将它们转换为文本时,它会留在“ \ n”中。
例:
您的浏览器可能会在一行中呈现以下所有内容(即使中间包含换行符):
这是一个段落。
即使我输入的内容中没有换行符,您的浏览器也可能以多行显示以下内容:
这是一个段落。
这是另一段。
但是,当BeautifulSoup将相同的字符串转换为文本时,它使用的唯一换行符是换行符-并且始终使用它们:
from bs4 import BeautifulSoup
doc = "<p>This is a\nparagraph.</p>"
soup = BeautifulSoup(doc)
soup.text
Out[181]: 'This is a \n paragraph.'
doc = "<p>This is a paragraph.</p><p>This is another paragraph.</p>"
soup = BeautifulSoup(doc)
soup.text
Out[187]: 'This is a paragraph.This is another paragraph.'
Run Code Online (Sandbox Code Playgroud)
有谁知道如何使BeautifulSoup以更漂亮的方式提取文本(或者实际上只是使所有换行符正确)?还有其他解决问题的简单方法吗?