写这篇文章是因为从hellogithub看到2023年度热榜上的一些项目,其中这个项目DrissionPage 就挺有意思的。虽然博主爬虫爬的不多,偶尔爬爬,看了这个项目之后觉得值得研究一下。
在之前的一篇文章中,博主用selenium还在找 chrome driver在到处找资源,这不DrissionPage 就不依赖于 webdriver 也省了不少心。
对于静态页面其实抓取数据很简单,但是目前大部分都是动态的,甚至有需要登陆状态等,使用chrome 等浏览器就可以不用去处理js加载等多种问题,不然你要自己去处理很麻烦耗时,影响效率。这也是selenium 和DrissionPage诞生的主要原因吧!
看了下DrissionPage的文档,早期也是依赖于selenium,在后来的3.x开始摆脱
selenium 的依赖,想要”开发的快,爬的也快”。
DrissionPage 看目前的最新的版本是4.0,一些相关的特性如下:
本库采用全自研的内核,内置了 N 多实用功能,对常用功能作了整合和优化,对比 selenium,有以下优点:
open
状态的 shadow-root除了以上优点,本库还内置了无数人性化设计。
pip install DrissionPage
from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get('http://g1879.gitee.io/DrissionPageDocs')
上例是一个简单的基于chrome 打开指定网页获取数据的demo,想要了解更多,还是去看 DrissionPage 的使用文档,也不多。
项目文档地址:https://g1879.gitee.io/drissionpagedocs/
项目地址:https://github.com/g1879/DrissionPage