­

一個Node.js的小爬蟲

爬蟲其實就是對網頁內特定id、class、標籤內容的提取,多是循環出來的,對我們爬取非常便利。

1.安裝node

node官網下載安裝包安裝,後在命令行工具中輸入node -v查看node安裝的版本。

2.實現項目

創建項目並進入

mkdir node-worm && cd node-worm

初始化項目環境,一路回車

npm init

安裝依賴

npm install request cheerio --save-dev

在項目根目錄創建app.js並寫入以下代碼

var request = require('request')
var cheerio = require('cheerio')
var reqUrl = '//www.cnblogs.com/e-cat/'
request(reqUrl, function (err, result) {
  if (err) {
    console.log(err)
  }
  let $ = cheerio.load(result.body)
  let list = []
  $('#main #mainContent .forFlow .day').each((index, element) => {
    let date = $($(`${element.name} .dayTitle a`)[index]).text() || ''
    let title = $($(`${element.name} .postTitle a span`)[index]).text()
    let desc = $($(`${element.name} .postCon .c_b_p_desc`)[index]).text()
    let href = $($(`${element.name} .postTitle a`)[index]).attr('href')
    let obj = {
      date,
      title,
      desc,
      href,
    }
    list.push(obj)
  })
  console.log(list)
})

其中reqUrl為爬取目標網址,提取的obj即為最終獲取的內容結構。

 

Tags: