2014-12-18 79 views
1

我正在嘗試使用python和Beautiful Soup 4來替換某個html中的每個分隔標記並換行。如何在美麗的湯4中處理<br></br>和<br/>?

該文件有<br><br/>和它</br>標籤,但由於湯怎麼處理漂亮的標籤,只要找到一個<br>,它會刪除它,它認爲在未來</br>之間的一切。

有沒有辦法解決這個問題?

回答

2

嘗試使用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的建設者。