早晨小朋友发了一篇python爬虾米数据分析的文章;感觉挺神奇;
上网搜了搜,发现node也能做到;
下面以一个段子网站为例,爬出所有的段子;
段子网址:
http://www.yikedou.com/wenzi/201510/48838.html
第一步,肯定是下载安装node了;不会的小朋友请自行找度娘;
第二步,新建文件夹trial,下载node模块:request/cheerio和相关依赖;
cnpm i request;
cnpm i cheerio;
下载完后应该会多一个node_modules的文件夹;里面包含刚下载的模块;
第三步,新建main.js(用来写代码);
首先需要引入模块,代码如下
const request=require("request");
const fs=require("fs");
const cheerio=require("cheerio");
然后写最关键的代码;
function getHtml(url){
request(url,(err,res,body)=>{
if(!err&&res.statusCode==200){
var $=cheerio.load(body,{decodeEntities:false});
var content=$("#detailContainer p").html()+"\r\n";
fs.appendFileSync("mayo.txt",content);
var nextLink="http://www.yikedou.com"+$("#nextArcLink a").attr("href");
getHtml(nextLink)}
else console.log("爬完了");
})
}
var url="http://www.yikedou.com/wenzi/201510/48838.html";
getHtml(url);
当然半个小时不到,所有的段子就被爬完了;
下图是结果截图:
当然,代码没考虑段子标题和排序;没考虑文件模块编码,没考虑线程(因为不会),写文章的目的在于没事,所以就写一下啦;