小編給大家分享一下如何基于node.js實(shí)現(xiàn)爬蟲,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
專注于為中小企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)張家界免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了近千家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。js有什么特點(diǎn)1、js屬于一種解釋性腳本語(yǔ)言;2、在絕大多數(shù)瀏覽器的支持下,js可以在多種平臺(tái)下運(yùn)行,擁有著跨平臺(tái)特性;3、js屬于一種弱類型腳本語(yǔ)言,對(duì)使用的數(shù)據(jù)類型未做出嚴(yán)格的要求,能夠進(jìn)行類型轉(zhuǎn)換,簡(jiǎn)單又容易上手;4、js語(yǔ)言安全性高,只能通過瀏覽器實(shí)現(xiàn)信息瀏覽或動(dòng)態(tài)交互,從而有效地防止數(shù)據(jù)的丟失;5、基于對(duì)象的腳本語(yǔ)言,js不僅可以創(chuàng)建對(duì)象,也能使用現(xiàn)有的對(duì)象。
1. cheerio 與 request
request:模擬客戶端行為,對(duì)頁(yè)面進(jìn)行請(qǐng)求
cheerio:對(duì)服務(wù)器端返回的頁(yè)面進(jìn)行解析;
var cheerio = require('cheerio'); var request = require('request'); var startUrl = 'http://www.baidu.com' request(startUrl, function(err, response) { if (err) { console.log(err); } var $ = cheerio.load(response.body); var title = $('title').text(); console.log(title); }
2. 認(rèn)識(shí) cheerio
獲取 element 位置
通過 class 屬性進(jìn)行匹配:
var $=cheerio.load(''); $('.container')
$('a.downbtn').attr('href')
某一頁(yè)面下的全部可鏈接:
var url = var $ = cheerio.load(data); $("a.downbtn").each(function(i, e) { console.log($(e).attr("href")); }); console.log("done"); } else { console.log("error"); }
以上是“如何基于node.js實(shí)現(xiàn)爬蟲”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!