superagent 官方文件
爬蟲原始碼實現(github地址)
安裝koa腳手架
注意koa2只支援node版本 v7+,請確保版本足夠
npm i koa-generator -g //安裝全部腳手架
koa2 projectName //初始化專案目錄
cd projectName
npm i //預設攜帶package.json檔案,需要我們自行安裝node_modules包
npm start //啟動專案(預設是3000埠號)
需要注意的是,每次執行
npm start
命令,koa2
預設會幫助我們執行一次入口檔案,如果需要動態監測檔案改變,開發環境建議使用nodemon
進行實時監測重新整理. (npm i nodemon -g
), 這裡需要更改package.json
檔案中的 script屬性,改為"scripts": { "start": "nodemon bin/www"}
即可,
superagent請求資料
用法如下:
npm i superagent -S
superagent
.get(url)
.set({ //設定請求頭
"Connection":"keep-alive",
})
.end((err,res) => { //錯誤優先
if(err){
console.log(err);
return ;
}
ctx.body = res.text // 請求到的html在text屬性中
}
cheerio使用
文件可以參考這裡 或者 這裡
cheerio是為沒有window物件的執行環境專門定製的DOM操作庫. 是jquery的核心實現.(並不是基於window物件的)
const cheerio = require(`cheerio`);
//superagent請求到資料之後, 執行
const $ = cheerio.load(res.text);
...
常用Api
: addClass(className)
: 給標籤新增class
名,方便抓取資料text()
: 獲取標籤的文字內容find(`img`)
: 查詢某型別的標籤或者class
toArray
: 可以把一個偽陣列變成陣列each
: 迴圈遍歷得到的陣列,引數分別是(index,element
);
具體實現以及cheerio使用,可以參考GitHub原始碼. 如果你覺得原始碼對你有幫助的話,記得點個Star
噢~