likes
comments
collection
share

浅尝一下Node爬虫吧~

作者站长头像
站长
· 阅读数 39
  1. 新建一个文件夹,这里我命名为“爬”。

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

    cd pa
    // 安装package.json
    npm init
    // 安装cheerio,用来在服务端使用jq语法操作dom
    npm install cheerio --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,一个超级简单的爬虫就完成了~