python爬虫DrissionPage的使用

一、概述

DrissionPage是一个用于自动化Web浏览器操作的工具,它结合了浏览器自动化与数据抓取的功能。这个工具旨在提供一种简单易用且功能强大的方式来实现网页自动化任务,比如表单提交、页面导

航、元素点击等操作,同时也支持从网页中提取数据。

二、和selenium的区别

DrissionPage

特点和优势:

  • 集成了Selenium和Requests的功能,可以无缝切换
  • 支持无头浏览器和有头浏览器
  • 简化了元素定位和操作的API
  • 内置了许多常用的功能,如等待元素加载、自动重试等
  • 对中文用户友好,文档和社区支持较好
    缺点:
  • 相对较新,生态系统不如Selenium和Playwright成熟
  • 主要面向中文用户,国际化程度较低
  • 在处理复杂的动态网页时可能不如Playwright灵活

Selenium

特点和优势:

  • 历史悠久,生态系统成熟,有大量的资源和插件
  • 支持多种编程语言(Python, Java, C#, Ruby等)
  • 与大多数主流浏览器兼容
  • 广泛应用于Web自动化测试
  • 社区大,问题容易找到解决方案
    缺点:
  • 相对较慢,特别是在启动浏览器和执行操作时
  • API设计较为底层,需要更多的代码来完成复杂操作
  • 对于现代Web应用(如单页应用)的支持不如Playwright
  • 需要单独下载和管理浏览器驱动

三、安装

python 复制代码
pip install DrissionPage

四、实战

爬取豆瓣top250的电影名称

python 复制代码
from DrissionPage import ChromiumPage  
  
# 创建对象  
page = ChromiumPage()  
# 访问网页  
page.get('https://movie.douban.com/top250')  
# 等待页面跳转  
page.wait.load_start()  
  
flag = True  
while flag:  
    # 获取所有标题  
    links = page.eles('.hd')  
    # 遍历并打印结果  
    for link in links:  
	    print(link.text)  
    # 查找下一页的按钮  
    nextButton = page('.next')  
    # 如果没有找到则结束  
    if not nextButton.ele('tag:a'):  
	    flag = False  
    else:  
	    nextButton.click()  
  
# 关闭浏览器  
page.quit()

成功打印豆瓣top250的电影名称

相关推荐
【ql君】qlexcel20 分钟前
Notepad++ 复制宏、编辑宏的方法
开发语言·javascript·notepad++··宏编辑·宏复制
Zevalin爱灰灰29 分钟前
MATLAB GUI界面设计 第六章——常用库中的其它组件
开发语言·ui·matlab
冰糖猕猴桃36 分钟前
【Python】进阶 - 数据结构与算法
开发语言·数据结构·python·算法·时间复杂度、空间复杂度·树、二叉树·堆、图
天水幼麟40 分钟前
python学习笔记(深度学习)
笔记·python·学习
巴里巴气43 分钟前
安装GPU版本的Pytorch
人工智能·pytorch·python
wt_cs1 小时前
银行回单ocr api集成解析-图像文字识别-文字识别技术
开发语言·python
_WndProc1 小时前
【Python】Flask网页
开发语言·python·flask
互联网搬砖老肖1 小时前
Python 中如何使用 Conda 管理版本和创建 Django 项目
python·django·conda
测试者家园2 小时前
基于DeepSeek和crewAI构建测试用例脚本生成器
人工智能·python·测试用例·智能体·智能化测试·crewai
liujing102329292 小时前
Day04_刷题niuke20250703
java·开发语言·算法