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]argparse 包在聊天机器人中的应用
python
NiceCloud喜云4 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
AI玫瑰助手5 小时前
Python函数:默认参数的定义与注意事项
开发语言·python·信息可视化
weixin_468466855 小时前
全局与局部注意力机制新手实战指南
人工智能·python·深度学习·算法·自然语言处理·transformer·注意力机制
油炸自行车5 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
肩上风骋5 小时前
C++14特性
开发语言·c++·c++14特性
小糖学代码5 小时前
LLM系列:环境搭建:5.Python-dotenv 环境变量管理
人工智能·python·深度学习·神经网络
智慧物业老杨6 小时前
智慧物业合同周期管理系统:从风险预警到智能交接的全流程数智化落地方案
java·人工智能·python
橙橙笔记6 小时前
Python的学习第一部分
python·学习
JAVA社区7 小时前
Java高级全套教程(十)—— SpringCloudAlibaba超详细实战详解
java·开发语言·spring cloud·面试·职场和发展