python中的beautifulsoup和xpath有什么异同点

python中的beautifulsoup和xpath有什么异同点
Xpath 必然 是要比 BeautifulSoup 在时间和空间上都要性能更好一些。
其中理由有很多,其中一个很明显的是 BeautifulSoup 在构建一个对象的时候需要
传入一个参数以指定解析器,而在它支持的众多的解析器中,lxml 是性能最佳的
,那么 BeautifulSoup 对象的各种方法可以理解为是对 lxml 的封装,
换句话说,BeautifulSoup 本质上并没有创造出自己的解析方式,
而是建立在各种解析器的基础上。考虑到其他一些内部耗时因素,
BeautifulSoup 注定会比 lxml 甚至是任何一个构建对象时使用的解析器要慢,
要更耗费空间。只有付出这样子的代价才能够换来它的简洁、优美与用户友好性。
BeautifulSoup是一个库,而XPath是一种技术,python中最常用的XPath库是lxml
区别:
1.性能lxml>>BeautifulSoup
原理不同:
BeautifulSoup用python写;BeautifulSoup基于DOM ;
解析整个文档,解析整个DOM树;时间和内存开销大;性能方面差一些
lxml局部遍历;lxml用c写;
2.易用性 BeautifulSoup >>lxml
BeautifulSoup用起来简单,API人性化,支持css选择器
lxml的XPath写起来麻烦,开发效率较低
eg:
BeautifulSoup
title = soup.select(’.content div.title h3’)
同样的代码用Xpath写起来会很麻烦
title = tree.xpath("//*[@class=‘content’]/div[@class=‘content’]/h3")
总结:
需求较稳定,要求性能—用lxml ;快速开发用BeautifulSoup
BeautifulSoup4可以使用lxml作为parser

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值