nodejs爬取数据并生成Excel文件实现代码介绍

900 ℃

nodejs如何利用crawler爬取数据在通过node-xlsx插件并生成Excel文件,下面web建站小编给大家详细介绍一下实现方法。

利用crawler爬取数据:

1、安装脚手架:

yarn add crawler

2、代码实现介绍:

const Crawler = require("crawler");
const fs = require("fs")
const { resolve } = require("path")

let crawler = new Crawler({
    timeout: 10000,
    jQuery: true,
});

let crawler = new Crawler({
    timeout: 10000,
    jQuery: true,
});

function getPokemon() {
  let uri = "" // 宝可梦图鉴地址
  let data = []
  return new Promise((resolve, reject) => {
    crawler.queue({
      uri,
      callback: (err, res, done) => {
        if (err) reject(err);
        let $ = res.$;
        try {
          let $tr = $(".roundy.eplist tr");
          $tr.each((i, el) => {
            let $td = $(el).find("td");
            let _code = $td.eq(1).text().split("\n")[0]
            let _name = $td.eq(3).text().split("\n")[0]
            let _attr = $td.eq(4).text().split("\n")[0]
            let _other = $td.eq(5).text().split("\n")[0]
            _attr = _other.indexOf("属性") != -1 ? _attr : `${_attr}+${_other}`
            if (_code) {
                data.push([_code, _name, _attr])
            }
          })
          done();
          resolve(data)
        } catch (err) {
           done()
           reject(err)
        }
      }
    })
  })
}

//备注:代码中引入了$,所以需要开启 jQuery 模式

利用node-xlsx写入Excel

1、安装脚手架:

yarn add node-xlsx

2、代码实现介绍:

const xlsx = require("node-xlsx")

getPokemon().then(async data => {
  let title = ["编号", "宝可梦", "属性"]
  let list = [{
    name: "关都",
    data: [
        title,
        ...data
    ]
  }];
  const sheetOptions = { '!cols': [{ wch: 15 }, { wch: 20 }, { wch: 20 }] };
  const buffer = await xlsx.build(list, { sheetOptions })
  try {
      await fs.writeFileSync(resolve(__dirname, "data/pokemon.xlsx"), buffer, "utf8")
  } catch (error) { }
})

利用express读取Excel

1、安装脚手架:

yarn add express

2、代码实现介绍:

const express = require("express")
const app = express();
const listenPort = 3000;

app.get("/pokemon",(req,res)=>{
    let data = xlsx.parse(resolve(__dirname, "data/pokemon.xlsx"));
    res.send(data)
})

app.listen(listenPort, () => {
    console.log(`Server running at http://localhost:${listenPort}/`)
})

html网页上如何把文件压缩成zip代码示列(前端HTML/JavaScript和后端Node.js + Express)

node-xlsx(Github)文档官网介绍

Node中文官网介绍(优点介绍)

excel拆分单元格快捷键怎么用

如何利用PHPExcel类库建php将数据格式转为excel

标签: crawler, excel, express, js, Node, node-xlsx

上面是“nodejs爬取数据并生成Excel文件实现代码介绍”的全面内容,想了解更多关于 jsnodejs 内容,请继续关注web建站教程。

当前网址:https://m.ipkd.cn/webs_2345.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

帝国cms7.0, 7.2版本支付宝防掉单漏单异步处理插件
如何利用better-scroll组件兼容ios手机下面的小黑框
jquery有哪些方法可以增加tr行
帝国CMS如何随机调用专题代码
vuejs导出excel表格(可以设置样式)