简介
用NodeJS下一个爬虫,用来获取简书首页的文章,然后保存以txt文件的形式保存在本地,数量为20篇.
初始化项目
npm init || yarn init
安装依赖
npm install superagent cheerio —save || yarn add superagent cheerio
页面数据下载
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| const fs = require("fs") const request = require("superagent") const cheerio = require("cheerio") let reptileUrl = "http://www.jianshu.com/"
request .get(reptileUrl) .end(function(err,res){ if(err){ } else{ let $ = cheerio.load(res.text,{decodeEntities:false}) $("#list-container .note-list li").each(function(index,value){ let url = $(v).find(".title").attr("href") getContent(url) }) } })
|
获取文章内容,保存在本地
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
| function getContent(url){ let adress = reptileUrl + url request .get(adress) .end(function(err,res){ if(err){ }else{ let $ = cherrio.load(res.text,{decodeEntities:false}) let title = $(".article .title").text() let content = '' $(".article .show-content p").each(function(i, v, a) { content += $(v).text(); }) let data = { title: title, content: content } fs.writeFile('../data/' + title + '.txt', JSON.stringify(data), 'utf-8', function(err) { if (err) {
} else { console.log("It's OK !") } }) } }) }
|