利用Node中的核心模块http和第三方模块cheerio来实现网络爬虫的穷版。以“深圳市住房公积金管理中心-信息公开”网站为例。目标页面如下:目标页面数据DOM结构如下:示例代码如下:varhttp=require("http");varcheerio=require("cheerio");//类似JQ的第三方模块varurl="http://www.szzfgjj.com/xxgk/tjxx/";//深圳市住房公积金管理中心-信息公开//抓取网页数据http.get(url,res=>{varhtml="";res.on("data",data=>html+=data);res.on("end",()=>{//console.log(html);varcrawlData=filterData(html);printData(crawlData);});}).on("error",()=>{console.log("someerroroccurred");});//过滤数据函数filterData(html){var$=cheerio.load(html);//加载domvarcrawlData=[];//存储爬虫数据varlis=$(".MLlist").find("ul>li");lis.each(function(){varli=$(this);varobj={title:li.attr("svalue"),addr:li.children("a").attr("href").split("/")[1],id:li.children("a").attr("id")}crawlData.push(obj);});返回抓取数据a;}//输出数据函数printData(crawlData=[]){crawlData.forEach(item=>{console.log(`title:${item.title}--address:${item.addr}--number:${item.id}`);});}终端输出如下:
