DrissionPage,一个比Selenium好玩太多的Python库

概述

它是一个基于某种东西的网页自动化的工作工具。

它不仅可以去控制浏览器, 而且也能收发数据包, 此外还可以把这两者合而为一。

这句话的意思是可以把在浏览器里操作起来很方便的这个好处, 和那个高效率的特点一起都照顾到。

它在功能上拥有强大的表现, 并且里面内置了无数人性化设计以及便捷功能, 这些东西都能让使用者感到方便。

它的那个在语法方面的属性, 被描述成简洁以及优雅的状态, 并且其所需要的代码数量相对较少, 这对于新手来说是具有友好特质的。

背景

在使用工具来做数据采集, 并且面对那些登录之后才能访问的网站时, 需要先去分析数据包以及JS这个缩写所代表的源码文件, 要去构造出非常复杂的请求, 往往还要去应付验证码以及JS混淆和签名参数这样的反爬手段, 所以门槛是比较高的, 而且开发的效率也不高。

如果是使用浏览器来进行操作的话, 可以很大程度上绕过这些坑的存在, 不过浏览器的运行效率是不高的。

因此, 设计这个库的初衷, 就是要把这两个方面合在一起, 让大家既能做到写起来速度快, 也能做到跑起来速度快。它支持大家根据实际需要来切换不同的工作模式, 并且给出了一种比较好用的方法, 用来提升开发环节的效率以及运行的效率。

除了把两个部分合并之外, 这个库还针对网页这个单位, 封装了一些常用的功能, 提供了非常简单、方便的操作步骤和语句, 让用户不用去操心那些琐碎的细节, 只需要集中精力去实现功能本身就行了。用最简单的办法把强大的功能实现出来, 这样就能够让代码显得更加优雅。

以前的版本是, 对 进行重新封装实现的。从 3.0 开始, 作者另起炉灶, 对底层进行了重新开发, 摆脱了对 的依赖。它增强了功能,提升了运行效率。

核心能力

我们使用的这个库, 其内部的底层技术是依靠自己的团队全部自行研发出来的。这个库的里面, 内置了特别多的, 非常实用的功能内容。对于大家平常经常要用的一些功能操作, 做了集中的整理和更好的优化处理。跟其他类似的东西相比一下的话, 存在着这么几个优点表现:

入门演示

对象的 s 模式, 是可以用那个对象还有这个对象的 s 模式的组合的形式, 来去收发数据包, 以此来访问网页的。

顾名思义, 它是一个使用了库对象的页面, 它采取了分页对象模式来封装网络连接功能以及 html 解析功能, 这使得收发数据包的操作也可以像操作页面那样便利。

并且, 因为加入了本库独创的查找元素方法, 这让数据的采集便利性远超 + 等组合。

这是本库里面几种不同的页面对象中最简单的一个情况, 所以我们现在先从这个对象开始着手进行了解。

咱们看一个简单的例子, 来了解这个工作是怎么个运作法。

javascript 复制代码
`# 导入`

from DrissionPage import SessionPage

# 创建页面对象

page = SessionPage()

# 访问网页

page.get('https://gitee.com/explore/all')

# 在页面中查找元素

items = page.eles('t:h3')

# 遍历元素

for item in items[:-1]:

# 获取当前

元素下的元素

lnk = item('tag:a')

# 打印元素文本和href属性

print(lnk.text, lnk.link)

输入效果:

对比被访问页面官网

说实话,它真的是非常的容易, 简直是太简单了。

相关推荐
2601_967979123 小时前
这7个小众Python库,才是机器学习工程化的降效神器
机器学习·推荐系统·工程化·时间序列·python库
xiezhr2 天前
workbuddy接管我的浏览器,帮我干活了
ai·浏览器自动化·ai-agent·workbuddy
鲁邦通物联网4 天前
Python工业软件迁移ARM边缘计算网关,如何完成兼容性验证?
边缘计算·数据采集·工业网关·边缘计算网关·5g数采·plc数采·厂内数采
鲁邦通物联网6 天前
工业装备OEM远程服务架构:边缘计算网关与售后运维系统设计
运维·边缘计算·数据采集·工业数据采集·边缘计算网关·plc数采·厂内数采
远创智控研发部7 天前
HART转Modbus TCP网关支持仪表故障诊断信息同步上传
数据采集·modbusrtu·网关模块·总线协议·hart
鲁邦通物联网8 天前
智能工厂梯度建设中的边缘计算网关架构设计与工程实践
边缘计算·数据采集·工业数据采集·工业网关·边缘计算网关·plc数采·厂内数采
远创智控研发部8 天前
ModbusTCP转HART网关支持HART多变量变送器数据下发配置
数据采集·工业自动化·hart协议·网关模块·协议转换
鲁邦通物联网11 天前
从PLC到云平台:工业数采网关数据链路的分层设计与工程实践
数据采集·工业数据采集·工业网关·边缘计算网关·plc数采·厂内数采·工业数采网关
守城小轩11 天前
Chromium 149 编译指南 Windows篇:生成构建文件(六)
chrome devtools·浏览器自动化·指纹浏览器·浏览器开发