簡體   English   中英

與僅使用lxml相比,使用Beautiful Soup解析XML有什么好處嗎?

[英]Are there any benefits of using Beautiful Soup to parse XML over using lxml alone?

我經常使用Beautiful Soup解析HTML文件,因此當我最近需要解析XML文件時,我選擇使用它。 但是,由於我正在解析一個非常大的文件,因此失敗了。 在研究失敗的原因時,我想到了一個問題: 加載巨大的XML文件並處理MemoryError

這引出了我的問題:如果lxml可以處理大文件而Beautiful Soup無法處理,那么使用Beautiful Soup而不是直接使用lxml有什么好處嗎?

如果您查看有關BeautifulSoup Parser的鏈接:

“ BeautifulSoup”是一個Python程序包,用於解析損壞的 HTML,而“ lxml”的運行速度更快,但具有高質量的HTML / XML。 因此,如果您要處理第一個,最好使用BS ..., 但是擁有“ lxml”的優點是您可以得到soupparser

通過我在頂部提供的鏈接,它顯示了如何將“ BS”功能與“ lxml”一起使用

因此,最后 ...最好使用“ lxml”。

lxml速度非常快,並且具有相對較高的內存效率。 BeautifulSoup本身在效率方面的得分較低,但是其構建目的是與非標准/殘破的html和xml兼容,這意味着它最終將變得更加通用。

您選擇使用哪個實際上僅取決於您的用例-Web抓取? 大概是BS。 解析機器編寫的結構化元數據? lxml是一個不錯的選擇。

進行切換時還需要考慮學習曲線-兩個系統以略有不同的方式實現搜索和導航策略; 足以使從另一個系統開始學習一個系統變得不容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM