Python工具DrissionPage推荐

摘要

本文推荐DrissionPage这个第三方python工具。

DrissionPage简介

DrissionPage是一个基于python的网页自动化工具。能控制浏览器,也能收发数据包,兼顾浏览器自动化的便利性和requests的高效率。

官网:drissionpage.cn/

gitee:gitee.com/g1879/Driss...

操作系统:Windows、Linux 和 Mac

Python版本:3.6及以上

兼容浏览器:Chrome、Edge

python 复制代码
from DrissionPage.common import Settings
from DrissionPage import SessionPage
from DrissionPage import Chromium
Settings.set_language('zh_cn')  # 报错信息及提示支设置为中文

简单使用

1)安装

复制代码
pip install DrissionPage

2)获取元素信息

scss 复制代码
def web_read():
    page = SessionPage()
    page.get('https://www.baidu.com')
    title = page('#s-top-left').eles('t:a').get.texts()
    print(title)

3)下载文件

python 复制代码
def download_file():
    url = 'https://www.baidu.com/img/flexible/logo/pc/result.png'
    save_path = r'D:\download'
    page = SessionPage()
    page.download(url, save_path)

4)打开浏览器访问指定地址

scss 复制代码
def browser_start():
    tab = Chromium().latest_tab
    tab.get('http://DrissionPage.cn')

5)访问指定地址并点击指定文本元素

scss 复制代码
def browser_doc():
    tab = Chromium().latest_tab
    tab.get('http://DrissionPage.cn')
    ele = tab.ele('text=文档')  # 获取文本为"文档"的元素
    ele.click()  # 点击该元素

6)访问指定地址点击登录安装输入账号密码

scss 复制代码
def browser_login():
    # 启动或接管浏览器,并获取标签页对象
    tab = Chromium().latest_tab
    # 跳转到登录页面
    tab.get('https://gitee.com/login')
    # 定位到账号文本框,获取文本框元素
    ele = tab.ele('#user_login')
    # 输入对文本框输入账号
    ele.input('您的账号')
    # 定位到密码文本框并输入密码
    tab.ele('#user_password').input('您的密码')
    # 点击登录按钮
    tab.ele('@value=登 录').click()

7)模式转换:浏览器控制->收发数据包

ini 复制代码
def mode_change():
    # 连接浏览器并获取一个MixTab对象
    tab = Chromium().latest_tab
    # 访问网址
    tab.get('https://gitee.com/explore')
    # 切换到收发数据包模式
    tab.change_mode()
    # 获取列表所有行元素
    items = tab.eles('.title project-namespace-path')
    # 遍历获取到的元素
    for item in items:
        print(item.text, item.link)
        print()

总结

以上我们了解了DrissionPage是一个基于Python的工具,结合了requests和selenium 的优点,旨在简化网页爬取和自动化操作。

关注公众号:咖啡Beans

在这里,我们专注于软件技术的交流与成长,分享开发心得与笔记,涵盖编程、AI、资讯、面试等多个领域。无论是前沿科技的探索,还是实用技巧的总结,我们都致力于为大家呈现有价值的内容。期待与你共同进步,开启技术之旅。

相关推荐
Nicole-----7 小时前
PySpark数据输入
python
扑克中的黑桃A7 小时前
Python学习的自我理解和想法(27)
python
华仔啊7 小时前
工作5年没碰过分布式锁,是我太菜还是公司太稳?网友:太真实了!
java·后端
卿·静7 小时前
Node.js对接即梦AI实现“千军万马”视频
前端·javascript·人工智能·后端·node.js
蓝倾9768 小时前
小红书获取用户作品列表API接口操作指南
java·服务器·前端·python·电商开放平台·开放api接口
SamDeepThinking8 小时前
在 Cursor IDE 中配置 SQLTools 连接 MySQL 数据库指南(Windows 11)
后端·ai编程·cursor
武子康8 小时前
大数据-92 Spark 深入解析 Spark Standalone 模式:组件构成、提交流程与性能优化
大数据·后端·spark
青梅主码8 小时前
麦肯锡最新发布报告《想打破生产力天花板吗?重新思考完成工作的方式》:与其一味调整组织结构,不如从根本上简化工作流程,释放更大价值
后端
Python私教8 小时前
源滚滚Rust全栈班v1.02 无符号整数详解
开发语言·后端·rust