你有没有遇到这样的情景:女朋友每天要求早中晚微信打卡,有时候因为忙着改Bug,给(打)忘(游)了(戏)?回家得跪键盘了吧。
程序员当然要用程序员的方式来解决了!来来来,看下小编是如何定时自动发表白微信的?
使用库
-
Express - Node框架
-
Pug - HTML模板
-
Puppeteer - 抓取数据
-
Node-Schedule - 定时任务
-
File-Box - 打包图片用于wechaty发送
-
Wechaty - 操作微信
-
QRCode-Terminal - 控制台展示二维码图片
基本思路
-
抓取墨迹天气 和 [one·一个] 的数据
-
编写展示用的模板并自定义样式
-
处理抓取到的数据渲染模板
-
抓取模板页并截图
-
操作微信发送消息
-
定时处理任务
最终效果
点开图片:
目录与配置
目录结构:
配置代码:
在配置里可以修改提醒发送的时间,想要说的话等。
需要注意的坑:
Puppeteer 需要安装Chromium,所以要修改Puppeteer 的下载源:
<html>
<head></head>
<body>
<pre style="margin: 0px; padding: 0px; max-width: 100%; box-sizing: border-box !important; word-wrap: break-word !important; color: rgb(51, 51, 51); font-size: 17px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: 0.544000029563904px; line-height: 27.2000007629395px; orphans: auto; text-align: justify; text-indent: 0px; text-transform: none; widows: 1; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);">
npm config set puppeteer_download_host https://npm.taobao.org/mirrors
</pre>
</body>
</html>
但比较坑的是,我在云服务器上修改了源也没下载下来,所以到现在还没能放到服务器上去,只能在自己的电脑上起 Node Server。
后续优化:
-
代码结构
-
生成的图片质量
-
生成聊天记录日志,别人撤回的消息也能看见了
-
保存每天生成的图片
希望所有猿(媛)都能遇见自己喜欢,也喜欢自己的另一半~
网友评论