Node.js 抓取(爬虫)别人的接口(get、post)获取数据 生成 Excel

const xlsx = require('node-xlsx')//xlsx 库
const fs =  require('fs') //文件读写库
const request = require("request");//request请求库
let data = [] // 把这个数组写入excel   
request({
    url: "https://qudao.youzan.com/resource/department/list",//你要请求的地址
    method: "post",//请求方法 post get
    json: true,
    headers: {
        "content-type": "application/json",
        "Cookie":""//如果携带了cookie
    },
    body: {"page":1,"pageSize":3,"sortAsc":false,"sortKey":"lastVisitTime","prodLineId":2},//这里是post 传的参数 如果是get 方法在url上拼接就好了
}, function (error, response, body) {
    if (!error && response.statusCode == 200) {
        // console.log(body)
        const rows = body.data.items
        let title = ['address','alias','bindDisplayName','boundTime','customerAlias','customerId','customerName','infoSourceName'
        ,'predictedReleaseReason','region','unboundTime','mobile','name']//设置表头
        data.push(title) // 添加完表头 下面就是添加真正的内容了
        rows.forEach((e) => {
            let arrInner = []
            arrInner.push(e.address)
            arrInner.push(e.alias)
            arrInner.push(e.bindDisplayName)
            arrInner.push(e.boundTime)
            arrInner.push(e.customerAlias)
            arrInner.push(e.customerId)
            arrInner.push(e.customerName)
            arrInner.push(e.infoSourceName)
            arrInner.push(e.predictedReleaseReason)
            arrInner.push(e.region)
            arrInner.push(e.unboundTime)   
            data.push(arrInner)
        });
        writeXls(data)
    }
}); 



// 写xlsx文件
function writeXls(datas) {
    let buffer = xlsx.build([
    {
        name:'sheet1',
        data:datas
    }
    ]);
    fs.writeFileSync('./data.xlsx',buffer,{'flag':'w'});//生成excel data是excel的名字
}

我VX号: LJT-917

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

棋鬼王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值