在Node中使用核心模塊http和第三方模塊cheerio實現窮人版網頁小爬蟲,以「深圳市住房公積金管理中心-信息公開」網站爲例。html
目標網頁以下:dom
目標網頁數據的dom結構以下:網站
示例代碼以下:ui
var http = require("http"); var cheerio = require("cheerio"); //相似JQ的第三方模塊 var url = "http://www.szzfgjj.com/xxgk/tjxx/"; //深圳市住房公積金管理中心-信息公開 //爬取網頁數據 http.get(url, res => { var html = ""; res.on("data", data => html += data); res.on("end", () => { // console.log(html); var crawlData = filterData(html); printData(crawlData); }); }).on("error", () => { console.log("some error occured"); }); //過濾數據 function filterData(html){ var $ = cheerio.load(html); //裝載dom var crawlData = []; //存儲爬蟲數據 var lis = $(".MLlist").find("ul>li"); lis.each(function(){ var li = $(this); var obj = { title: li.attr("svalue"), addr: li.children("a").attr("href").split("/")[1], id: li.children("a").attr("id") } crawlData.push(obj); }); return crawlData; } //輸出數據 function printData(crawlData = []){ crawlData.forEach(item => { console.log(`題目:${item.title} -- 地址:${item.addr} -- 編號:${item.id}`); }); }
終端輸出以下:this