parsel的使用

前几节我们了解了 LXML 解析器,使用 XPath、pyquery 库,CSS选择器来提取页面内容的方法。不论 XPath 还是 CSS 选择器,都已经能够满足绝大多数的内容提取,大家可以选择适合自己的库。

这是可能有人会问:我能不能二者穿插使用呀?有时候觉得 XPath 写起来比较方便,有时候觉得 CSS 选择器写起来比较方便,二者能结合吗?答案是可以的。

这里我们介绍另一个解析库,叫做 parsel 。

如果你用过 Scrapy 框架(第 15 章会介绍),会发现 parsel 的 API 和 Scrapy 选择器的 API 极其相似,这是因为 Scrapy 的选择器就是基于 parsel 做的二次封装,因此学会了这个库的用法,之后学习 Scrapy 选择器的用法时就能融会贯通了。

介绍

parsel 这个库可以解析 HTML 和 XML,并支持使用 XPath 和 CSS 选择器对内容进行提取和修改,同时还融合了正则表达式的提取功能。parsel灵活且强大,同时也是 python 最流行的爬虫框架 Scrapy 的底层支持。

准备工作

初始化

提取文本

提取属性

正则提取

总结

parsel 库是一个融合了 XPath、CSS 选择器和正则表达式的提取库,功能强大又灵活,建议好好学习一下,同时可以为之后学习 Scrapy 框架打下基础,有关 parsel 更多的用法可以参考其官方文档 https://parsel.readthedocs.io/。