2014-12-27 82 views
3

我正在與BS庫進行HTML解析。我的任務是刪除頭標之間的所有內容。所以如果我有<head> A lot of Crap! </head>那麼結果應該是<head></head>。這是它的代碼BeautifulSoup Library的HTML解析問題

raw_html = "entire_web_document_as_string" 
soup = BeautifulSoup(raw_html) 
head = soup.head 
head.unwrap() 
print(head) 

這工作正常。但我希望這些更改應該發生在包含整個html文檔的raw_html字符串中。如何在原始字符串中反映這些命令,而不僅僅是在head字符串中?你能分享一個代碼片段嗎?

+2

使用'tag.clear()'如果你想清楚它給我的錯誤標籤 – 2014-12-27 20:52:28

回答

2

您基本上要求如何從BS的soup對象導出一串HTML。

你可以這樣來做:

# Python 2.7 
modified_raw_html = unicode(soup) 

# Python3 
modified_raw_html = str(soup) 
+0

「未定義的變量是:unicode」 – hnvasa 2014-12-27 20:48:03

+0

@hnvasa我的錯,我在想Python2。爲Python3更新的答案。 – Jivan 2014-12-27 20:52:07

+0

ohk,解決了我的問題!謝謝! – hnvasa 2014-12-27 21:12:52