项目简介
通过微信每日定时给指定的一位好友发送消息, 去年就有一个类似的想法, 不过一直没去执行, 直到上周看见篇文章.
不过他的一些功能我根本不需要, 而且定时提醒消息只能是文字, 看上去多少没那么好看, 于是就打算自己撸一个, 加了点其它的小功能, 然后就有了这篇文章, 前后也花了两天多时间, 还有一些优化留着空了来做.
灵感来源
用 Node+wechaty 写一个爬虫脚本每天定时给女 (男) 朋友发微信暖心话.
项目地址
https://github.com/Mcbai/WeChat-bot
使用库
https://github.com/expressjs/express - node 框架
https://github.com/pugjs/pug - html 模板
https://github.com/GoogleChrome/puppeteer - 抓取数据
https://github.com/node-schedule/node-schedule - 定时任务
https://github.com/huan/file-box - 打包图片用于 wechaty 发送
https://github.com/chatie/wechaty - 操作微信
https://github.com/gtanner/qrcode-terminal - 控制台展示二维码图片
基本思路
抓取 墨迹天气 和 [one. 一个] 的数据
编写展示用的模板并自定义样式
处理抓取到的数据渲染模板
抓取模板页并截图
操作微信发送消息
定时处理任务
最终效果
点开图片
目录与配置
目录结构:
配置代码:
在配置里可以修改提醒发送的时间, 想要说的话等.
需要注意的坑:
puppeteer 需要安装 chromium, 所以要修改 puppeteer 的下载源:
NPM config set puppeteer_download_host https://npm.taobao.org/mirrors
但比较坑的是, 我在云服务器上修改了源也没下载下来, 所以到现在还没能放到服务器上去, 只能在自己的电脑上起 node server.
后续优化:
代码结构
生成的图片质量
生成聊天记录日志, 别人撤回的消息也能看见了
保存每天生成的图片
最后
希望所有猿 (媛) 都能遇见自己喜欢, 也喜欢自己的另一半~
来源: https://juejin.im/post/5c87aa83e51d453ce668c711