网页qq抓取什么原理(微信群中使用自动化实现类似功能的微信机器人的方法介绍)
优采云 发布时间: 2022-04-15 02:17网页qq抓取什么原理(微信群中使用自动化实现类似功能的微信机器人的方法介绍)
前言
在微信群里,经常会有一些微信群主定期发一些快讯。这次给大家介绍一种使用自动化实现微信机器人类似功能的方法。
实现功能介绍
网站作为专业获取信息的重要来源,很多人经常访问。今天教大家的自动化,就是将这个网站当前的内容以自动化的方式保存成PDF文件,然后发到微信群里分享给群友。
原理大致如下:
所用工具的主要代码实现
打开 CukeTest 并根据您的业务需求编辑功能文件:
# language: zh-CN
功能: 自动化微信
自动抓取hacker news 保存为pdf并分享到微信群。
@puppeteer
场景: 使用puppeteer自动抓取Hacker News并保存为pdf
假如使用puppeteer打开"https://news.ycombinator.com/"
同时将当前页面内容保存为到PDF文件中
场景: Windows桌面微信发送群
假如打开微信群,选择文档
当打开pdf文件
同时点击发送,发送给群友
作为行为驱动的脚本,功能文件可以使脚本非常可读。
傀儡师
Puppeteer 是 Google Chrome 团队的官方无头 Chrome 工具。它是一个 Node.js 库,提供高级 API 以通过 DevTools 协议控制无头 Chrome。使用这个库可以非常方便地将页面导出为 pdf 文档。
具体API请参考文档:
// 主要实现代码
......
//打开页面
await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'});
//保存到pdf
await page.pdf({path: 'hn.pdf', format: 'A4'});
......
相比通过 Selenium 调用 Chrome,它的优势是速度更快,功能更丰富。
库克测试
CukeTest 是 Node.js 自动化脚本的编辑工具。它内置了一个库,用于在Windows桌面上操作Windows控件和操作微信。
指示:
为微信Windows桌面应用创建对象模型文件,在模型文件中添加需要操作的控件。如何操作Windows控件,请参考免费教学视频()
调用操作对象API
//主要实现代码
......
Given(/^打开微信群,选择文档$/, async function () {
await model.getVirtual("发送文件").click(0, 0, 1);
});
When(/^打开pdf文件$/, async function () {
await model.getEdit("文件名(N):1").set('hn.pdf');
await model.getGeneric("打开(O)").click(0, 0, 1);
});
When(/^点击发送,发送给群友$/, async function () {
await model.getVirtual("发送").click(0, 0, 1);
});
......
跑
点击运行按钮运行。如果想每天定时运行,可以将此脚本配置为定时任务或Jenkins作业运行。
总结
在这个例子中,我们使用 Node.js + Cucumber 框架使代码更具可读性,使用 Puppeteer 作为自动化库来抓取内容,并使用 CukeTest 编辑工具,它也提供了 Windows 自动化功能。
如果不想发PDF,也可以用Puppeteer定时截取网页上的文字发到微信,实时性更强。
CukeTest 使您能够自动化您的 Windows、Web、API 或移动应用程序。结合丰富的 Node.js 开源库,你可以发挥无穷无尽的想象力,做各种好玩有趣的自动化。如果您对自动化流程有好的想法或遇到问题,欢迎加入我们的学习群讨论。群:707467292