playwright 直接拦截获取图片数据

背景
playwright 控制浏览器后,获取其中的图片还需要手动获取 src 重新下载,是不是有点浪费时间?甚至有的网站图片下载时还需要加代理,无法百分百成功,但是浏览器加载下载的时候却是一直都可以的。
这时候就需要利用起来 playwright 的网络拦截功能了!
实现
1. 拦截功能实现
主要思路就是过滤出需要的响应,然后对特征符号进行哈希,以此命名文件保存下来,以供备用。
1 | def handle_route(response) -> None: |
2. 设置监听
在对应 page 设置上:
1 | page.on("response", handle_route) |
3. 获取图片
在这里有一个问题,浏览器下载图片与我们的程序是并行的,因此就是需要确保浏览器已经加载完图片,然后我们的程序才能继续运行。
1 | # 获取到目标图片src(顺便利用playwright等待img渲染上) |
- 标题: playwright 直接拦截获取图片数据
- 作者: 二次蓝
- 创建于 : 2022-08-23 10:08:16
- 更新于 : 2022-09-30 09:50:00
- 链接: https://blog.ercilan.cn/2022/08/23/playwright-直接拦截获取图片数据/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论