2017-06-18 41 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

我不想渲染的内容。我知道编码是'<'。我正在检查用户内容是否已正确转义,“