返回

通过 Node.js 和 wechaty 编写爬虫脚本,定时发送暖心微信信息

前端

前言

在喧嚣的日常生活中,给亲密的人发送暖心的消息是一种表达爱意和关怀的简单而有效的方式。然而,在繁忙的日程中,抽出时间定期发送消息可能是一项挑战。本文将介绍如何使用 Node.js 和 wechaty 编写一个爬虫脚本,实现每天定时发送暖心微信信息,让你在忙碌之中也能表达心意。

技术选型

  • Node.js: 一个流行的 JavaScript 运行时环境,用于构建后端应用程序。
  • wechaty: 一个开源的 Node.js 库,用于与微信进行交互。

代码实现

1. 安装依赖

npm install wechaty puppeteer

2. 编写脚本

const wechaty = require('wechaty');
const puppeteer = require('puppeteer');

// 从指定网站获取暖心信息
async function getWarmMessage() {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://www.暖心语录.com');
  const message = await page.$eval('p', (el) => el.textContent);
  await browser.close();
  return message;
}

// 发送微信信息
async function sendWarmMessage(contact) {
  const message = await getWarmMessage();
  await contact.say(message);
}

// 定时发送任务
const bot = new wechaty.Wechaty();
bot.on('login', async () => {
  console.log('已登录微信');

  // 获取女朋友(或男朋友)的微信联系人
  const contact = await bot.Contact.find({ name: '你的女朋友/男朋友' });
  if (!contact) {
    console.error('找不到指定的联系人');
    return;
  }

  // 设置定时任务
  const schedule = require('node-schedule');
  const job = schedule.scheduleJob('0 0 9 * * *', async () => {
    await sendWarmMessage(contact);
    console.log('已发送暖心信息');
  });
});

bot.start();

3. 运行脚本

将脚本保存为一个文件,例如 warmMessage.js,然后使用以下命令运行:

node warmMessage.js

注意事项

  • 确保你的女朋友(或男朋友)的微信号已添加到你的微信联系人中。
  • 设置定时任务时,可以根据需要调整时间。
  • 爬取的信息可能会因网站内容而异。
  • 该脚本需要 Node.js 版本 >= 14 和 wechaty 版本 >= 1.4.30。

结论

通过使用 Node.js 和 wechaty,我们成功地创建了一个爬虫脚本,它可以每天定时从特定网站获取暖心信息,并发送给你的女朋友(或男朋友)。这种自动化的方式使你可以在忙碌的生活中表达心意,让你的亲密的人感受到你的爱和关怀。