node的簡單爬蟲

2022-09-08 05:27:12 字數 1473 閱讀 3146

最近在學node,這裡簡單記錄一下。

首先是在linux的環境下,關於node的安裝教程:  

我看的教程裡面還用來express框架 鍵入 $ npm install express --registry= 來安裝

這樣基本的環境就弄好了,裝好以後來建立專案,過程如下:

1.隨便建乙個資料夾,比如說是lesson3

2.初始化(鍵入 $ npm init ),這裡要讓你設定 packag.json 檔案,這個檔案是用來記錄專案的資訊的,專案名,作者什麼的,如果你沒什麼好寫的就一路回車

3.安裝依賴包,(鍵入$ npm install  ---s**e packagename),沒有指定的情況下,預設從 npm 官方安裝,上次我們是從**的源安裝的。二是多了個--s**e引數,這個引數的作用,就是會在你安裝依賴的同時,自動把這些依賴寫入 package.json

爬蟲需要 superagent 和 cheerio

superagent( ) 是個 http 方面的庫,可以發起 get 或 post 請求

cheerio可以理解為node端的jquery,爬蟲的爬下來網頁以後用類似jquery選擇器的方式就能對dom樹進行操作

4.寫應用邏輯

邏輯也是三步:

4.1載入依賴

4.2處理爬蟲

4.3監聽埠

以cnode為例, 可以先到頁面上右鍵然後審查元素看看自己想要扒什麼

//

請求依賴

var express = require('express') ;

var superagent = require('superagent') ;

var cheerio = require('cheerio') ;

var sys = require('sys') ;

//爬蟲部分

(req,res,next)

var $ =cheerio.load(sres.text) ;

var items = ;

//利用cheerio來獲取頁面資訊,each函式來遍歷所有節點

var context = $('#topic_list .cell') ;

context.each(

function

(idx,element));

});//將結果輸出到頁面

res.send(items) ;

});});//

監聽部分,監聽3000埠

(req,res));

這裡注意就是和jq一樣,在乙個物件的方法中呼叫物件要再用$()把this包起來才有相應的方法。

結果如圖:

學習是按照《node.js 包教不包會》 -- by alsotang 來進行的,這裡是**

Node 簡單爬蟲

以爬慕課網hadoop高階課程為例,用node寫乙個簡單的爬蟲 先抓取這個 的原始碼 然後分析這個頁面的dom,如圖 每大章節都被乙個chapter包圍,抓取下來就是乙個陣列,對每個item,這張的大標題在strong裡面,每章的小章節在video標籤裡,然後小標題就是j media item的te...

node 簡單的爬蟲案例

cherrio模組 安裝cnpm install cherrio使用方法const cheerio require cheerio const cheerio.load h2.title text hello there h2 addclass welcome html request模組var r...

node爬蟲實踐

爬蟲的原理很好理解,就是在服務端請求另乙個伺服器的資源,前端有跨域問題,而服務端沒有,這是天然優勢。掌握node的前端可以為所欲為了 1 首先,根據請求資源的協議選擇合適的模組,如果是https協議,就用https的方法取請求,之前沒有注意到這個問題。var https require https ...