【问题标题】:Are there any benefits of using Beautiful Soup to parse XML over using lxml alone?与单独使用 lxml 相比,使用 Beautiful Soup 解析 XML 有什么好处吗?
【发布时间】:2015-09-29 20:34:33
【问题描述】:
【问题讨论】:
标签:
python
xml
beautifulsoup
lxml
【解决方案1】:
如果你看一下这个关于BeautifulSoup Parser的链接:
“BeautifulSoup”是一个解析破碎 HTML 的 Python 包,而“lxml”解析速度更快但具有高质量的 HTML/XML。因此,如果您要处理第一个问题,则最好使用 BS...但拥有“lxml”的优势在于您可以获得soupparser。 p>
从我在顶部提供的链接中,它显示了如何将“BS”的功能与“lxml”一起使用
所以最后...你最好使用“lxml”。
【解决方案2】:
lxml 非常快,并且相对内存效率较高。 BeautifulSoup 本身在效率方面的得分不太高,但它的构建是为了与非标准/损坏的 html 和 xml 兼容,这意味着它最终更加通用。
您选择使用哪个实际上仅取决于您的用例——网络抓取?可能是BS。解析机器编写的结构化元数据? lxml 是一个不错的选择。
在进行切换时还需要考虑学习曲线 - 两个系统执行搜索和导航策略的方式略有不同;足以让在从另一个系统开始之后学习另一个系统成为一项不平凡的任务。