用playwright实现访问目标网页并截图,提取重要数据处理后一起推送至钉钉

本文介绍了如何利用Python的Playwright框架访问加密货币数据分析网站,如欧科云链,抓取最新转账信息,并通过钉钉机器人以Markdown格式推送给用户。首先设置浏览器上下文加载中文页面,等待页面元素加载完成,然后查找并提取所需数据。接着,对页面进行截图并保存。虽然图片处理遇到挑战,但最终通过公司已有API解决了清晰度问题。此外,现在欧科云链提供了官方API,简化了数据获取流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用playwright实现访问目标网页并截图,提取重要数据处理后一起推送至钉钉

开端

上司几个月之前给我推荐了个playwright,是微软开发的web自动化测试框架,开源的,觉得未来肯定不错。然后我看了一下确实不错,对比LoadRunner和Selenium用起来更轻巧灵活,带的浏览器驱动都是最新的,而且支持python所以马上看文档上手起来,python版playwrigt文档

实践

简单写下逻辑过程,现在做加密货币数据分析的网站很火,正好当时欧科云链的oklink他会分析比特币链上地址的大额转账并会显示出来,如下
在这里插入图片描述然后我想让这个信息每次更新后能够最快速的通过钉钉推送给我,实现如下这种效果,@人并图文展示。
在这里插入图片描述

在这里插入图片描述

首先钉钉机器人是支持Markdown信息推送的,所以这里我们主要讲一下playwright如何获取有效信息,并将有效信息保存好在本地或传到图床。涉及如下几个主要的playwright的api,具体的可以上https://playwright.dev/python/docs/api查看

1、保证页面信息有效。

#1、头文件传递语言信息过去,保证加载的是中文页面
browser.new_context(viewport={"width":1300,"height":1080},extra_http_headers={'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2'})
#2、通过验证关键元素已加载,确保页面加载完毕才下一步
page.text_content('div.more-text') 
#也可用
page.waitForSelector("text=xxx")
#3、搜索页面的符合要求的内容,查找所有转账信息和验证时间是否最新。
page.query_selector_all('div.large-container-box-item-right-title')
page.query_selector('div.large-container-box-item-left')

2、保存有效信息。

# 1、截图,你可以截取需要的位置
 page.screenshot(path=f'example-{playwright.firefox.name}.png',clip={"x":45,"y":170,"width":500,"height":640})

总结

其实真的做起来也挺复杂的,图床我就找了好几个试了,不过图片页面好像都会二次加载,导致钉钉一直使用的是缩略图不清晰,最后还是用的一个我们公司一个原有传图片的api实现的。
这里只是主要介绍了下playwright实现的思路,真的要用起来其他的库肯定也要有。
执行画面对了,目前想用欧科云链的数据更简单了,有官方的api文档了,不用和我之前一样还要数据校验处理。

🥰如果喜欢你也可以请我喝白开水🥰

打赏 / Donate

图片笑死了
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ozingi

谢谢小老板打赏给我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值