首先本人菜鸟一个,这个demo也很简单,但在实现它的时候走了很多弯路,希望把这个过程记录下来分享给刚入门的朋友们;
这个题目就是慕课网上进击Node.js基础(一)_5-10 HTTP 小爬虫
优化后的代码是这样的(scott老师的源码 请参考视频):
var http = require('http')
var cheerio = require('cheerio')
var url = 'http://idcbgp.cn/learn/348'
function fliter(html){
var $ = cheerio.load(html)
var chapters = $('.chapter')
for (var i = 0; i < chapters.length; i++) {
var mainTitle = $(chapters[i]).find('strong').text()
var content = $(chapters[i]).find('a')
var href_attr = content.attr('href')
console.log(mainTitle+'\n')
for (var j = 0; j < content.length; j++) {
console.log(' 【'+$(content[j]).attr('href').substr(7)+'】'+$(content[j]).text())
}
}
}
http.get(url,function(res){
var html = ''
res.on('data',function(data){
html +=data
})
res.on('end',function(){
fliter(html)
})
}).on('error',function(){
console.log('错误!!!')
})
在Nodejs中的运行效果:
點(diǎn)擊查看更多內(nèi)容
2人點(diǎn)贊
評(píng)論
評(píng)論
共同學(xué)習(xí),寫下你的評(píng)論
評(píng)論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦