微信公众平台爬取网页内容

本来想着可以每天定时群发消息来推送本博客的最新文章,可是发现需要微信认证才能获得群发接口的权限,但是个人订阅号暂时又不能认证。无奈,只得利用已有的接口,利用自动回复指定内容来完成推送。

不多说,这里仍然是使用nodejs的wechat接口来实现的,非常easy,直接上代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
var wechat = require('wechat');
var express = require('express');

var superagent = require('superagent');
var cheerio = require('cheerio');
var urlhelp = require('url');

var app = express();//var app = express.Router();
app.use(express.query());
app.use('/', wechat('你的token', function (req, res, next) {
// 微信输入信息都在req.weixin上
var message = req.weixin;
if (message.Content === 'test') {
//文本回复

} else if (message.Content === 'doc') {
//图文回复

}else if (message.Content === 'mp3') {
// 回复榜首音乐

}else if (message.MsgType === 'voice') {
// 回复一段音乐

} else if (message.MsgType === 'event') {
//关注回复

} else {
//文本回复

}
}));

app.listen(process.env.PORT || 3000);

其中图文回复回复榜首音乐都是使用了superagent来完成爬虫的工作,直接上小案例,谁跑谁知道:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
var superagent = require('superagent');
var cheerio = require('cheerio');
var urlhelp = require('url');
var express = require('express');

var app = express();
app.listen(process.env.PORT || 5000);
app.get('/', function(req, ares, next) {
var myUrl = 'http://luckypeng.com/';
superagent.get(myUrl).end(function(err, res1){
if(err) {

}
var $ = cheerio.load(res1.text);
var $article = $('.title').eq(0).children('a').first();
var title = $article.text();
var description = $article.attr('title');
var url = urlhelp.resolve(myUrl,$article.attr('href'));
var picurl = urlhelp.resolve(myUrl, $('.nofancybox').eq(0).attr('src'));

var latest = {
title: title,
description: description,
url: url,
picurl: picurl
}
ares.send(latest);
console.log(latest);
console.log('已经获取最新文章!')
});
});

console.log('-----------------------------');

怎么样,是不是so easy,有空请关注我的公众号哦。

小鹏 wechat
公众号:数据Man
0%