我正在尝试使用python和Beautiful Soup4来替换一些html中的每一个换行标记。
文档中有<br>、<br/>和</br>标签,但由于Beautiful Soup处理标签的方式,每当它找到一个<br>时,它就会删除它与它看到的下一个</br>之间的所有内容。
有什么办法可以解决这个问题吗?
发布于 2014-12-19 07:45:03
尝试使用生成器类的HTMLParserTreeBuilder:
from bs4 import BeautifulSoup
from bs4.builder import HTMLParserTreeBuilder
html_doc = """
<html>this is a test<br> ...between a start and end br... </br> a blank br: <br/> something else
"""
soup = BeautifulSoup(html_doc, builder=HTMLParserTreeBuilder())
print soup.prettify()比较未指定builder=参数时的输出。
您可以确定使用哪个构建器bs4:
print type(soup.builder)默认情况下,bs4似乎选择了基于lxml的构建器。
https://stackoverflow.com/questions/27556774
复制相似问题