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

相关推荐
一枚小小程序员哈2 分钟前
基于python/django框架的车型识别系统
开发语言·python
计算机毕业设计木哥3 分钟前
基于大数据spark的医用消耗选品采集数据可视化分析系统【Hadoop、spark、python】
大数据·hadoop·python·信息可视化·spark·课程设计
坫鹏加油站26 分钟前
【Python】支持向量机SVM
python·算法·机器学习·支持向量机
炒茄子32 分钟前
Python:如何处理WRF投影(LCC, 兰伯特投影)?
python
全栈开发圈1 小时前
干货分享|如何从0到1掌握R语言数据分析
开发语言·数据分析·r语言
极客BIM工作室1 小时前
老生常谈智能指针:《More Effective C++》的条款28
开发语言·c++
hllqkbb1 小时前
Ubuntu22.04轻松安装Qt与OpenCV库
开发语言·qt·opencv
嘟爸教编程1 小时前
C++少儿编程(二十二)—条件结构
开发语言·c++
军训猫猫头2 小时前
11.用反射为静态类的属性赋值 C#例子 WPF例子
开发语言·c#
傻啦嘿哟2 小时前
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
开发语言·python