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的电影名称

相关推荐
ylfhpy3 分钟前
Java面试黄金宝典15
java·开发语言·数据结构·算法·面试·职场和发展·哈希算法
狄加山67520 分钟前
QT记事本
开发语言·网络·qt
霍珵璁41 分钟前
Lua语言的嵌入式安全
开发语言·后端·golang
&白帝&1 小时前
Spring 框架中的 BeanUtils
java·python·spring
HelloFeynman1 小时前
MATLAB代码丨信号处理:对Python中Librosa库部分函数的重现
开发语言·python·matlab·信号处理
以待成追忆2 小时前
爬虫——将数据保存到MongoDB中
数据库·爬虫·mongodb
geekmice4 小时前
pdf转换markdwon文档
python·pdf
蹦蹦跳跳真可爱5896 小时前
Python----计算机视觉处理(Opencv:梯度处理:filiter2D算子,Sobel,Laplacian)
人工智能·python·opencv·计算机视觉
她说彩礼65万7 小时前
WPF Binding方式详解
java·开发语言·wpf
佚明zj7 小时前
【C++】内存模型分析
开发语言·前端·javascript