2017-06-18 40 views
1

我有一些HTML看起來像這樣:獲取元素中的實際內容與BeautifulSoup

<textarea>&lt;p&gt;</textarea> 

如果我做這樣的事情在Python:

import bs4 
doc = bs4.BeautifulSoup("<textarea>&lt;p&gt;</textarea>", "html.parser") 
print(doc.select("textarea")[0].string) 

結果<p>打印。這是絕對錯誤的,令人難以置信的誤導,這個元素的實際內容根本不包括<>個字符。

我怎麼能得到實際內容的元素,因爲我會看到如果我手動curl'd頁?我可以關閉此功能嗎?


我也試過這樣:

>>> for c in doc.select("textarea")[0].children: 
... print(c) 
... 
<p> 
+1

沒有'.string'是** **呈現在標籤中的內容。 **編碼**爲'<',但實際上這意味着您要編寫'<'。注意「bs」旨在給XML/HTML文件提供**語義**解釋。 –

+0

我不想渲染的內容。我知道編碼是'<'。我正在檢查用戶內容是否已正確轉義,「