我需要从 HTML 文档中获取纯文本,同时将<br>
元素视为换行符。BeautifulSoup.text
不处理<br>
和换行。HTML2Text 相当不错,但它会转换为降价。我还能怎么做呢?
问问题
316 次
2 回答
4
我喜欢使用下面的方法。您可以.replace('<br>','\r\n')
在将字符串传递给之前对字符串执行手册strip_tags(html)
以兑现新行。
从这个问题:
from HTMLParser import HTMLParser
class MLStripper(HTMLParser):
def __init__(self):
self.reset()
self.fed = []
def handle_data(self, d):
self.fed.append(d)
def get_data(self):
return ''.join(self.fed)
def strip_tags(html):
s = MLStripper()
s.feed(html)
return s.get_data()
于 2013-06-09T16:43:01.510 回答
0
您可以去掉标签并用空格替换它们(如果需要):
import re
myString = re.sub(r"<(/)?br(/)?>", "\n", myString)
myString = re.sub(r"<[^>]*>", " ", myString)
于 2013-06-09T16:40:05.867 回答