三种适合初学者Python爬虫库

用Python进行网站数据抓取是我们获取数据的一个重要手段。而在Python中网站抓取有大量的库可以使用,但如何选择合适的库用于自己的项目呢?

先不直接给出答案,下文所列举的是我认为较为通用的5个Python库,将通过对它们的优劣评估来回答那些疑问。

1.Requests

Requests是一个Python库,用于发出各种类型的HTTP请求,例如GET,POST等。由于其简单易用,它被称为HTTP for Humans。
我想说这是Web抓取最基本但必不可少的库。但是,请求库不会解析检索到的HTML数据。如果要这样做,还需要结合lxml和Beautiful Soup之类的库一起使用。
那Requests Python库有哪些优缺点?
优点:
简单
基本/摘要身份验证
国际域名和URL
分块请求
HTTP(S)代理支持
缺点:
仅检索页面的静态内容
不能用于解析HTML

无法处理纯JavaScript制作的网站

2.lxml

lxml是一种高性能,快速,高质生产力的HTML和XML解析Python库。
它结合了ElementTree的速度和功能以及Python的简单性。当我们打算抓取大型数据集时,它能发挥很好的作用。
在Web抓取的时候,lxml经常和Requests进行组合来使用,此外,它还允许使用XPath和CSS选择器从HTML提取数据。
那lxml Python库的优缺点有哪些?
优点:
比大多数解析器快
轻巧
使用元素树
Pythonic API
缺点:
不适用于设计不当的HTML

官方文档不太适合初学者

3.BeautifulSoup

BeautifulSoup也许是Web抓取中使用最广泛的Python库。它创建了一个解析树,用于解析HTML和XML文档。还会自动将传入文档转换为Unicode,将传出文档转换为UTF-8。
在行业中,将“BeautifulSoup”与“Requests”组合在一起使用非常普遍。
让BeautifulSoup备受欢迎的主要原因之一,就是它易于使用并且非常适合初学者。同时,还可以将Beautiful Soup与其他解析器(如lxml)结合使用。
但是相对应的,这种易用性也带来了不小的运行成本——它比lxml慢。即使使用lxml作为解析器,它也比纯lxml慢。
下面来综合看下BeautifulSoup库的优缺点都有哪些?
优点:
需要几行代码
优质的文档
易于初学者学习
强大
自动编码检测
缺点:

比lxml慢

-----------------

长按识别下方二维码,并关注公众号


1.回复“PY”领取1GB Python数据分析资料

2.回复“BG”领取5GB 名企数据分析报告

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值