当前位置: 首页 > news >正文

爬虫自动化(DrissionPage) - 教程

目录

?一.介绍:

下载DrissionPage,还是我们熟悉的pip:

环境准备:

?二.基本代码:

它对于的导包和类使用:

窗口的设置:

和获取的页面的滑动:

3.进一步认识DrissionPage:

浏览器可以多开:

监听网络数据:

四.反监测:

正常模式下:

无头模式:

五.总结:


一.介绍:

dDrissionPage官网?? 概述[这里是图片003]https://www.drissionpage.cn/

来自官网的介绍:

DrissionPage是一个基于 Python 的网页自动化工具。

既能控制浏览器,也能收发数据包,还能把两者合而为一。

下载DrissionPage,还是我们熟悉的pip:

pip install DrissionPage

环境准备:

二.基本代码:

from DrissionPage import ChromiumPage
page = ChromiumPage()
page.get('https://www.baidu.com/')

和自动化一样自己打开浏览器:

它对于的导包和类使用:

# ChromiumPage 只控制浏览器,不能收发数据包
from DrissionPage import ChromiumPage
# SessionPage 只用于收发数据包,不能控制浏览器
from DrissionPage import SessionPage
# 浏览启动参数管理器,用于控制浏览器启动参数
from DrissionPage import DriverOptions
# Session对象启动参数管理器,用于控制Session对象启动参数
from DrissionPage import SessionOptions
# 动作链类,用于模拟一连串鼠标键盘动作
from DrissionPage import ActionChains

窗口的设置:

page.set.window.maximized()    # 窗口最大化
page.set.window.minimized()    # 窗口最小化
page.set.window.fullscreen()    # 用于使窗口切换到全屏模式
page.set.window.normal()    # 用于使窗口切换到普通模式
page.set.window.size(500, 500)    # 用于设置窗口大小。
page.set.window.location(500, 500)    # 用于设置窗口位置

和获取的页面的滑动:

page.scroll.to_top()    # 用于滚动页面到顶部,水平位置不变
page.scroll.to_bottom()    # 用于滚动页面到底部,水平位置不变
page.scroll.to_half()    # 用于滚动页面到垂直中间位置,水平位置不变
page.scroll.to_rightmost()    # 用于滚动页面到最右边,垂直位置不变
page.scroll.to_leftmost()    # 用于滚动页面到最左边,垂直位置不变
page.scroll.to_location(300, 50)    # 用于滚动页面到滚动到指定位置
page.scroll.up(30)    # 用于使页面向上滚动若干像素,水平位置不变
page.scroll.down(30)    # 用于使页面向下滚动若干像素,水平位置不变
page.scroll.right(30)    # 用于使页面向右滚动若干像素,垂直位置不变
page.scroll.left(30)    # 用于使页面向左滚动若干像素,垂直位置不变

3.进一步认识DrissionPage:

浏览器可以多开:

每个浏览器的端口号不一样,和文件地址也不能一样。

from DrissionPage import Chromium, ChromiumOptions
Ch1 = ChromiumOptions().set_local_port('端口号').set_user_data_path('')#1
Ch2 = ChromiumOptions().set_local_port().set_user_data_path('')#2
browser1 = Chromium(Ch1)
browser2 = Chromium(Ch2)

监听网络数据:

  • 注意:要先启动监听,再执行动作,listen.start() 之前的数据包是获取不到的;

  • 等待并获取:

  • 等待并获取:

    from?DrissionPage?import?ChromiumPage

    page?=?ChromiumPage()
    page.get(‘网页地址’)?# 访问网址,这行产生的数据包不监听

    page.listen.start(‘gitee.com/explore’)?# 开始监听,指定获取包含该文本的数据包(部分url)
    for?_?in?range(5):
    page(‘@rel=next’).click()?# 点击下一页
    res?=?page.listen.wait()?# 等待并获取一个数据包
    print(res.url)?# 输出数据包url
    print(res.response.headers)?# 输出响应头
    print(res.response.statusText)?# 输出响应状态码
    print(res.response.body)?# 输出响应内容

四.反监测:

在 Selenium、Playwright 、Playwright 的使用中,我们知道了自动化工具容易被网站检测,也提供了一些绕过检测的方案。这里我们介绍一下 DrissionPage 的反检测方案:

正常模式下:

无头模式:

可以发现,没有做任何反检测的操作,都不会被检测到,就连使用无头模式也只有 userAgent 有问题,不过我们 co.set_user_agent() 设置一下就可以了,虽然这些只是最基本的检测机制,但也够用了

五.总结:

DrissionPage 语法简洁,使用方便,底层基于 CDP 协议,拥有较强的反检测机制,目前不需要做任何反检测的操作就可以绕过国内外绝大多数的网站自动化检测。

http://www.jsqmd.com/news/138958/

相关文章:

  • 爬虫自动化(DrissionPage) - 教程
  • 2025年超声波分散设备生产厂排名:研发实力强的石墨烯超声波分散机厂家推荐 - 工业推荐榜
  • 济南美信造纸技术行业口碑排名如何?美信造纸技术的价格贵吗? - 工业品牌热点
  • 7、神经网络构建与优化全解析
  • 12、机器学习中的过拟合处理与性能评估
  • 3、深入理解单神经元:原理、激活函数与线性回归应用
  • 2025绵阳中学择校指南:高口碑学校深度推荐,高中复读学校/实验学校/学校/高中/实验中学/名办高中/中学中学厂商好不好 - 品牌推荐师
  • 2025年桥梁护栏厂家推荐:专业制造商与品牌商排行榜 - myqiye
  • 干网在线清洗企业哪家售后好、哪个值得选、哪家经验丰富? - 工业品牌热点
  • 【日记】做了一些家务,然后看见第三方摄影师拍的自己,天都要塌了(笑)(1307 字)
  • 2025直埋保温管厂家推荐 产能环保服务三维度权威测评 - 爱采购寻源宝典
  • 4、机器学习中的逻辑回归与前馈神经网络
  • 2025年地质研学地点考察排行榜:5家不错的地质研学场所推荐 - mypinpai
  • 2025年反应釜品牌商、优质生产商及生产厂排行榜,新测评精选企业推荐 - 工业推荐榜
  • 2025年门窗十大品牌定制推荐:定制门窗十大品牌口碑推荐有哪些? - myqiye
  • 2025年有资质的茅台酒回收公司推荐,专业茅台酒回收服务口碑好企业全解析 - myqiye
  • 揭秘智谱Open-AutoGLM模型热替换技术:如何无缝切换大模型?
  • 2025年海外商务考察公司推荐,口碑不错的商务考察品牌企业解析 - 工业品牌热点
  • 5、全连接网络中的超参数、过拟合与数据集分析
  • Dify与企业微信/钉钉集成实现办公自动化
  • 2025年知名的煎炒不粘锅厂家推荐及选择参考 - 品牌宣传支持者
  • 使用Dify进行舆情监控系统的快速搭建
  • 3、瀑布模型软件开发全解析
  • Dify与低代码平台融合的可能性探讨
  • 中国管理咨询公司怎么选不踩坑?2025年12月最新避坑指南及十大机构真香推荐 - 品牌推荐
  • 4、软件开发项目管理与方法解析
  • UVa 10053 Envelopes
  • 24.5 向量搜索进阶:Embedding技术与数据库选型
  • Dify平台邮件自动回复功能的设计与实现
  • 2025年比较好的矿山沉淀池清淤机器人厂家最新推荐权威榜 - 品牌宣传支持者