2013-04-30 64 views
0

BeautifulSoup 3具有很好的功能,它不会试图将标签的内容解释为html,而是将其作为文本引用。这种行为可以通过修改QUOTE_TAGS属性可以有其他的标签。这是an illustration这是如何有用的。在BeautifulSoup 4中提取标签内容作为文本(等同于QUOTE_TAGS)4

在BeautifulSoup 4中,没有QUOTE_TAGS属性,并且我没有办法在没有继承html.parser的情况下获得相同的功能。我错过了什么吗?你如何解决上面使用BS4链接的问题?

回答

1

美丽的汤4没有QUOTE_TAGS,因为它没有自己的解析器:它依赖于外部的解析器。不同的解析器以不同的方式处理相同的标记,并且发现了其中一种差异。

的LXML解析器和Python的内置html.parser两个治疗<textarea>作为HTML标记的内容。所述html5lib分析器把一个<textarea>的内容作为原始数据。讲述美丽的汤使用html5lib会给你你想要的结果:

BeautifulSoup(markup, "html5lib") 

您需要安装html5lib,当然。

+0

我终于有机会尝试一下,确实html5lib行为更类似于在这方面的BS3解析器。谢谢你的回答! – 2013-07-02 00:50:36

相关问题