web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. seo教程
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站

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

633 ℃
     

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://ipkd.cn/webs_2345.html

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

当前位置: 网站首页 > jsnodejs
本文共计1583个字,预计阅读时长11分钟
生活小工具,收录了80多款小工具
上一篇: 推荐一款由字制区设计团队的免费综艺字体——字制区喜脉体
下一篇: 推荐一款免费开源的跨平台MarkDown编辑器——Mark Text
x 打工人ai神器