摘要:在中使用核心模塊和第三方模塊實(shí)現(xiàn)窮人版網(wǎng)頁(yè)小爬蟲,以深圳市住房公積金管理中心信息公開網(wǎng)站為例。
????在Node中使用核心模塊http和第三方模塊cheerio實(shí)現(xiàn)窮人版網(wǎng)頁(yè)小爬蟲,以“深圳市住房公積金管理中心-信息公開”網(wǎng)站為例。
????目標(biāo)網(wǎng)頁(yè)如下:
????目標(biāo)網(wǎng)頁(yè)數(shù)據(jù)的dom結(jié)構(gòu)如下:
????示例代碼如下:
var http = require("http"); var cheerio = require("cheerio"); //類似JQ的第三方模塊 var url = "http://www.szzfgjj.com/xxgk/tjxx/"; //深圳市住房公積金管理中心-信息公開 //爬取網(wǎng)頁(yè)數(shù)據(jù) 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"); }); //過濾數(shù)據(jù) function filterData(html){ var $ = cheerio.load(html); //裝載dom var crawlData = []; //存儲(chǔ)爬蟲數(shù)據(jù) 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; } //輸出數(shù)據(jù) function printData(crawlData = []){ crawlData.forEach(item => { console.log(`題目:${item.title} -- 地址:${item.addr} -- 編號(hào):${item.id}`); }); }
????終端輸出如下:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107398.html
摘要:概括地講,如果構(gòu)造函數(shù)有返回值,且返回值是對(duì)象不能是,那么對(duì)其進(jìn)行操作返回該對(duì)象,否則返回構(gòu)造實(shí)例。所以在方法中,我們需要進(jìn)一步判斷這個(gè)構(gòu)造函數(shù)有沒有返回值,返回值是不是對(duì)象。 自從進(jìn)入七月以來,我的 underscore 源碼解讀系列 更新緩慢,再這樣下去,今年更完的目標(biāo)似乎要落空,趕緊寫一篇壓壓驚。 前文 跟大家簡(jiǎn)單介紹了下 ES5 中的 bind 方法以及使用場(chǎng)景(沒讀過的同學(xué)建...
摘要:當(dāng)前分為版本,以及版本,這兩個(gè)版本相互直接是不兼容的,但是當(dāng)前世面的主流或者程序還是偏多,所以我這邊主要是版本為基礎(chǔ),確切地說,是版本。下面來說說如何安裝開發(fā)環(huán)境以及開發(fā)工具一環(huán)境的安裝上安裝如果你正在使用,系統(tǒng)是,系統(tǒng)自帶了。 當(dāng)前python分為2.x版本,以及3.x版本,這兩個(gè)版本相互直接是不兼容的,但是當(dāng)前世面的主流web或者程序還是2.x偏多,所以我這邊主要是2.x版本為基礎(chǔ)...
摘要:模式定義觀察者模式定義對(duì)象間的一種一對(duì)多或一對(duì)一的依賴關(guān)系,當(dāng)被觀察者狀態(tài)發(fā)生改變時(shí),注冊(cè)的觀察者都會(huì)被通知。需要在系統(tǒng)中創(chuàng)建一個(gè)觸發(fā)鏈,對(duì)象的行為將影響對(duì)象,對(duì)象的行為將影響對(duì)象,可以使用觀察者模式創(chuàng)建一種鏈?zhǔn)接|發(fā)機(jī)制。 showImg(https://segmentfault.com/img/bV1Wkq?w=301&h=167); 模式定義 觀察者模式(observer patt...
摘要:智聯(lián)其實(shí)一共寫了兩次,有興趣的可以在源碼看看,第一版的是回調(diào)版,只能一次一頁(yè)的爬取。 寫在前面的話, .......還是不寫了,直接上效果圖。附上源碼地址 github.lonhon showImg(https://segmentfault.com/img/bVUM3F?w=714&h=543);showImg(https://segmentfault.com/img/bVUM...
閱讀 1642·2021-09-22 15:25
閱讀 1520·2021-09-07 10:06
閱讀 3196·2019-08-30 15:53
閱讀 1100·2019-08-29 13:12
閱讀 3392·2019-08-29 13:07
閱讀 739·2019-08-28 18:19
閱讀 2279·2019-08-27 10:57
閱讀 995·2019-08-26 13:29