关于nodejs爬虫:浅尝一下Node爬虫吧~

38次阅读

共计 933 个字符,预计需要花费 3 分钟才能阅读完成。

  1. 新建一个文件夹,这里我命名为“爬”。

    mkdir pa
  2. 初始化一个工程,并装置相干模块。

    cd pa
    // 装置 package.json
    npm init
    // 装置 cheerio,用来在服务端应用 jq 语法操作 dom
    npm install cheerio --save
    // 装置 request,用来发送网络申请
    npm install request --save
  3. 新建文件命名为 app.js,依照需要爬取数据,并保留到 data.txt。

    const http = require('http')
    const fs = require('fs')
    const cheerio = require('cheerio')
    
    function getData(url, title) {http.get(url, function(res) {let html = ''res.setEncoding('utf-8')
       res.on('data', function(chunk) {html += chunk})
       res.on('end', function() {const $ = cheerio.load(html)
         // 按页面 dom 构造获取你须要的数据
         const content = `\n\n\n\n\n\n-------- 布告【${title}】的内容 ---------\n\n` + $('.xq4').text().trim() + `\n\n-------- 布告【${title}】的内容完结喽 ---------\n\n\n`
    
         fs.appendFile('./datas/data.txt', content, 'utf-8', function(err) {if (err) {console.log(err);
           }
         })
       })
      })
    }
    
    // 依照理论状况编写申请
    http.get(` 接口地址 `, function(res) {res.setEncoding('utf-8')
      res.on('data', function(res) {res = JSON.parse(res)
       res.data.forEach(item => {const url = ` 页面地址带上接口返回的参数 ${item.id}`
         getData(url, item.title)
       });
      })
    })
  4. 执行 node app.js,一个超级简略的爬虫就实现了~

正文完
 0