2024-06-26 13:22:54 发布
网友
我需要从HTML文档中获取纯文本,同时将<br>元素作为新行。BeautifulSoup.text不处理<br>和换行符。HTML2Text相当不错,但它可以转换为markdown。我还能怎么做呢?在
<br>
BeautifulSoup.text
我喜欢用下面的方法。在将字符串传递给strip_tags(html)以处理新行之前,可以对该字符串执行手动操作.replace('<br>','\r\n')。在
strip_tags(html)
.replace('<br>','\r\n')
来自this question:
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()
可以去掉标记并用空格替换它们(如果需要):
import re myString = re.sub(r"<(/)?br(/)?>", "\n", myString) myString = re.sub(r"<[^>]*>", " ", myString)
我喜欢用下面的方法。在将字符串传递给
strip_tags(html)
以处理新行之前,可以对该字符串执行手动操作.replace('<br>','\r\n')
。在来自this question:
可以去掉标记并用空格替换它们(如果需要):
相关问题 更多 >
编程相关推荐