NodeJs的一次实用(定时抓取数据)

JavaScript018

NodeJs的一次实用(定时抓取数据),第1张

想定时抓取某个接口的数据,然后解析数据,通过邮件通知给我。

1、 https 用来发送网络请求

2、 node-schedule 用来实现定时任务

3、 nodemailer 用来发送邮件

介绍一下简单用法

我这里使用的QQ邮箱,使用第三方发送邮件需要打开授权,我这里开启的是 POP3/IMAP ,然后用授权码登录。 授权方法->

哈哈,还是比较成功的,达到了我预期的目标。

邮件接收的延迟比较大,大概3分钟左右,耐心等候,另外我在QQ邮箱的发件箱里没看到已发送的邮件,可能不会显示。

demo就不发了,比较简单,这几个模块组装起来就可以运行了。

. 由于该爬虫是多个页面并发爬取的,使用普通的方法需要层层回调,所以对该回调函数(获取页面数据函数)进行Promise包装

[javascript] view plain copy

function getPageAsync(url) {//使用Promise对象来包装获取到页面的html的方法

return new Promise(function (resolve,reject) {

console.log('正在爬取 ' + url + '\n')

http.get(url,function(res){

var html = ''