这个是后端处理
var express = require('express');
var cheerio = require('cheerio');
var superagnet = require('superagent');
var ejs = require('ejs');
var eventproxy = require('eventproxy');
var app = express();
app.set('view engine', 'ejs');
app.set('views',__dirname+"/view");
app.get(
'/',
function(req,res){
if(req){
console.log('coming in ');
var href_list = [];
var page_data = [];
var ep = new eventproxy(); //事件的对象。
superagnet.get('https://cnodejs.org/')
.end(function(err,getHtmlData){
if(err){
console.log("err:"+err);
}else{
var $ = cheerio.load(getHtmlData.text);
$('#topic_list .topic_title').each(function(id ,element){
var title_href = $(element).attr('href');
href_list.push({
href:title_href
});
});
//以上就获取到了每条帖子的链接。
//接下来的工作就是处理各条帖子了。
//事件
ep.after('haha' , href_list.length-20,function(tit_html_list){
tit_html_list.forEach(function(tit_html){
var $ = cheerio.load(tit_html);
var title_name = ($('title').text()).trim();
var title_replay = ($('.reply_area .reply_content .markdown-text p').first().text()).trim();
page_data.push({
ttname:title_name,
ttreplay:title_replay
});
});
res.render('lesson_5',{page_data:page_data});
});
//遍历
href_list.forEach(function(tit_url){
superagnet.get('https://cnodejs.org'+tit_url.href+'/')
.end(function(err,tit_html_data){
if(err){
console.log("err:"+err);
}else{
ep.emit('haha',[tit_html_data.text]);
}
});
});
}
});
}
}
);
app.listen(
8080
);
这个是页面展示:
<% page_data.forEach(function(element){ %>
<h3>链接标题:<%=element.ttname%></h3>
<h3>第一条评论:<%=element.ttreplay%></h3>
<hr/>
<% }) %>
但是页面上一直没有数据。。大神。。快点来。