摘要
本文推荐DrissionPage这个第三方python工具。
DrissionPage简介
DrissionPage是一个基于python的网页自动化工具。能控制浏览器,也能收发数据包,兼顾浏览器自动化的便利性和requests的高效率。
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、资讯、面试等多个领域。无论是前沿科技的探索,还是实用技巧的总结,我们都致力于为大家呈现有价值的内容。期待与你共同进步,开启技术之旅。