當前位置:編程學習大全網 - 熱門推薦 - python中的beautifulsoup和xpath有什麽異同點

python中的beautifulsoup和xpath有什麽異同點

謝邀,BeautifulSoup是壹個庫,而XPath是壹種技術,python中最常用的XPath庫是lxml,因此,這裏就拿lxml來和BeautifulSoup做比較吧

1 ?性能 lxml >> BeautifulSoup

BeautifulSoup和lxml的原理不壹樣,BeautifulSoup是基於DOM的,會載入整個文檔,解析整個DOM樹,因此時間和內存開銷都會大很多。而lxml只會局部遍歷,另外lxml是用c寫的,而BeautifulSoup是用python寫的,因此性能方面自然會差很多。

2 易用性 ?BeautifulSoup >> lxml

BeautifulSoup用起來比較簡單,API非常人性化,支持css選擇器。lxml的XPath寫起來麻煩,開發效率不如BeautifulSoup。

title = soup.select('.content div.title h3')

同樣的代碼用Xpath寫起來會很麻煩

title = tree.xpath("//*[@class='content']/div[@class='content']/h3")

3 ?總結

需求比較確定,要求性能的場合用lxml,快速開發用BeautifulSoup

ps: BeautifulSoup4可以使用lxml作為parser了

編輯於 2016-01-08

  • 上一篇:墨子號在哪個地方發射升空
  • 下一篇:悲傷的心痛的網名繁體字世界崩塌 世界崩塌傷感繁體字網名有哪些
  • copyright 2024編程學習大全網