Python 使用Beauty Soup解析XML比单独使用lxml有什么好处吗?

Python 使用Beauty Soup解析XML比单独使用lxml有什么好处吗?,python,xml,beautifulsoup,lxml,Python,Xml,Beautifulsoup,Lxml,我经常使用Beautiful Soup解析HTML文件,所以当我最近需要解析XML文件时,我选择使用它。但是,因为我正在解析一个非常大的文件,所以它失败了。在研究它失败的原因时,我被带到了这个问题: 这就引出了我的问题:如果lxml可以处理大文件而Beauty Soup不能,那么使用Beauty Soup而不是直接使用lxml有什么好处吗?如果您查看以下链接: “BeautifulSoup”是一个Python包,它可以解析破坏的HTML,而“lxml”则可以更快地解析破坏的HTML,但具有高质量

我经常使用Beautiful Soup解析HTML文件,所以当我最近需要解析XML文件时,我选择使用它。但是,因为我正在解析一个非常大的文件,所以它失败了。在研究它失败的原因时,我被带到了这个问题:


这就引出了我的问题:如果lxml可以处理大文件而Beauty Soup不能,那么使用Beauty Soup而不是直接使用lxml有什么好处吗?

如果您查看以下链接:

“BeautifulSoup”是一个Python包,它可以解析破坏的HTML,而“lxml”则可以更快地解析破坏的HTML,但具有高质量的HTML/XML。所以,如果你在处理第一个问题,你最好用BS但是使用“lxml”的优点是,您可以获得
soupparser

通过我在顶部提供的链接,它展示了如何将“BS”的功能与“lxml”结合使用


所以最后。。。您最好使用“lxml”。

lxml速度非常快,而且内存效率相对较高。BeautifulSoup本身在效率方面的得分较低,但它的构建是为了与非标准/不完整的html和xml兼容,这意味着它最终更加通用

您选择使用哪一种,实际上取决于您的用例——web抓取?可能是B。解析机器编写的结构化元数据?lxml是一个很好的选择

当切换时,也需要考虑学习曲线——这两个系统以稍微不同的方式实现搜索和导航策略;这足以让一个系统在开始学习另一个系统后成为一项不平凡的任务