nodejs + koa2 實現爬蟲

superagent 官方文檔
爬蟲源代碼實現(github地址)html

安裝koa腳手架

注意koa2只支持node版本 v7+,請確保版本足夠node

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"} 便可,jquery

superagent請求數據

用法以下:git

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對象的)github

const cheerio = require('cheerio');
//superagent請求到數據以後, 執行
const $ = cheerio.load(res.text);
...

經常使用Api :
addClass(className) : 給標籤添加class名,方便抓取數據
text() : 獲取標籤的文本內容
find('img') : 查找某類型的標籤或者class
toArray : 能夠把一個僞數組變成數組
each : 循環遍歷獲得的數組,參數分別是(index,element);npm

具體實現以及cheerio使用,能夠參考GitHub源代碼. 若是你以爲源代碼對你有幫助的話,記得點個Star噢~json

相關文章
相關標籤/搜索