概述
它是一个基于某种东西的网页自动化的工作工具。
它不仅可以去控制浏览器, 而且也能收发数据包, 此外还可以把这两者合而为一。
这句话的意思是可以把在浏览器里操作起来很方便的这个好处, 和那个高效率的特点一起都照顾到。
它在功能上拥有强大的表现, 并且里面内置了无数人性化设计以及便捷功能, 这些东西都能让使用者感到方便。
它的那个在语法方面的属性, 被描述成简洁以及优雅的状态, 并且其所需要的代码数量相对较少, 这对于新手来说是具有友好特质的。
背景
在使用工具来做数据采集, 并且面对那些登录之后才能访问的网站时, 需要先去分析数据包以及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)
输入效果:

对比被访问页面官网

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