关于 nodejs 的东西?

Something about nodejs?

    (async () => {
  const browser = await puppeteer.launch({headless:false})
  const page = await browser.newPage()
  await page.goto("https://www.nguyenkim.com/tv-qled-samsung-65-inch-qa65q65rakxxv.html")
 
  const model = await page.evaluate(() => {
    let location = document.querySelectorAll(".bg-Pro")
    let name = document.querySelector(".product_info_name")
    let price = document.querySelector(".nk-price-final")
    let gift = document.querySelector(".cm-picker-product-options div:first-child")
    let gift2 = document.querySelector(".cm-picker-product-options div:nth-child(2)")
    let gift3 = document.querySelector(".cm-picker-product-options div:nth-child(3)")
    let gift4 = document.querySelector(".cm-picker-product-options div:nth-child(4)")
    let gift5 = document.querySelector(".cm-picker-product-options div:nth-child(5)")
    let gift6 = document.querySelector(".cm-picker-product-options div:nth-child(6)")
    let gift7 = document.querySelector(".cm-picker-product-options div:nth-child(7)")
    let infor = []
    location.forEach((item) => {
      infor.push({
       Name: name.innerText,
        Price: price.innerText,
        Gift: gift.innerText,
        Gift2: gift2.innerText,
        Gift3: gift3.innerText,
        Gift4: gift4.innerText,
        Gift5: gift5.innerText,
        Gift6: gift6.innerText,
        Gift7: gift7.innerText
      });
    });
    return infor;
  });
  console.log(model);

嗨,我需要一些帮助!! 我做了一个项目,但我不知道如何导出 excel ??有人知道怎么导出吗?? 我做了研究,但我仍然没有在 google 中找到任何有用的东西。我希望我能在这里找到它:D p/s: 我的英语不是我的母语。谢谢你的时间!!

const puppeteer = require('puppeteer');
const fs = require('fs');
var csvWriter = require('csv-write-stream');
var writer = csvWriter({sendHeaders: false});
var xuat = "xuat.csv";

(async () => {
  const browser = await puppeteer.launch({headless:false})
  const page = await browser.newPage()
  await page.goto("https://www.nguyenkim.com/tv-qled-samsung-65-inch-qa65q65rakxxv.html")
 
  const model = await page.evaluate(() => {
    let location = document.querySelectorAll(".bg-Pro")
    let name = document.querySelector(".product_info_name")
    let price = document.querySelector(".nk-price-final")
    let gift = document.querySelector(".cm-picker-product-options div:first-child")
    let gift2 = document.querySelector(".cm-picker-product-options div:nth-child(2)")
    let gift3 = document.querySelector(".cm-picker-product-options div:nth-child(3)")
    let gift4 = document.querySelector(".cm-picker-product-options div:nth-child(4)")
    let gift5 = document.querySelector(".cm-picker-product-options div:nth-child(5)")
    let gift6 = document.querySelector(".cm-picker-product-options div:nth-child(6)")
    let gift7 = document.querySelector(".cm-picker-product-options div:nth-child(7)")
    let infor = []
    location.forEach((item) => {
      infor.push({
       Name: name.innerText,
        Price: price.innerText,
        Gift: gift.innerText,
        Gift2: gift2.innerText,
        Gift3: gift3.innerText,
        Gift4: gift4.innerText,
        Gift5: gift5.innerText,
        Gift6: gift6.innerText,
        Gift7: gift7.innerText
      });
    });
    return infor;
  });
  console.log(model);
   await browser.close();
})();

嗨,我需要一些帮助!! 我做了一个项目,但我不知道如何导出 excel ??有人知道怎么导出吗?? 我做了研究,但我仍然没有在 google 中找到任何有用的东西。我希望我能在这里找到它:D p/s: 我的英语不是我的母语。谢谢你的时间!!

如果你想写入一个 excel 文件你可以使用 excel4node, based on the code you have posted you're writing to a csv file using csv-write-stream,我已经添加了这两个函数,检查一下

const puppeteer = require('puppeteer');
const fs = require('fs');
var csvWriter = require('csv-write-stream');
var writer = csvWriter({ sendHeaders: false });
var xuat = "xuat.csv";
// Require excel library
var excel = require('excel4node');

// writing to xlsx
function exportToExcel(data) {
    // Create a new instance of a Workbook class
    var workbook = new excel.Workbook();

    // Add Worksheets to the workbook
    var worksheet = workbook.addWorksheet('Sheet 1');

    const headings = ['Name', 'Price', 'Gift', 'Gift2', 'Gift3', 'Gift4', 'Gift5', 'Gift6', 'Gift7'];;

    // Writing from cell A1 to I1
    headings.forEach((heading, index) => {
        worksheet.cell(1, index + 1).string(heading);
    })

    // Writing from cell A2 to I2 , A3 to I3, .....
    data.forEach((item, index) => {
        worksheet.cell(index + 2, 1).string(item.Name);
        worksheet.cell(index + 2, 2).string(item.Price);
        worksheet.cell(index + 2, 3).string(item.Gift);
        worksheet.cell(index + 2, 4).string(item.Gift2);
        worksheet.cell(index + 2, 5).string(item.Gift3);
        worksheet.cell(index + 2, 6).string(item.Gift4);
        worksheet.cell(index + 2, 7).string(item.Gift5);
        worksheet.cell(index + 2, 8).string(item.Gift6);
        worksheet.cell(index + 2, 9).string(item.Gift7);
    });

    workbook.write('Excel.xlsx');
}

// writing to csv
function exportToCSV(data) {
    writer.pipe(fs.createWriteStream(xuat))
    // writing the headings to the first row
    const firstRow = ['Name', 'Price', 'Gift', 'Gift2', 'Gift3', 'Gift4', 'Gift5', 'Gift6', 'Gift7'];
    writer.write(firstRow);
    // writing the values from the second row
    data.forEach((item, index) => {
        writer.write(item);
    });
    writer.end()
}

(async () => {
    const browser = await puppeteer.launch({ headless: false })
    const page = await browser.newPage()
    await page.goto("https://www.nguyenkim.com/tv-qled-samsung-65-inch-qa65q65rakxxv.html")

    const model = await page.evaluate(() => {
        let location = document.querySelectorAll(".bg-Pro")
        let name = document.querySelector(".product_info_name")
        let price = document.querySelector(".nk-price-final")
        let gift = document.querySelector(".cm-picker-product-options div:first-child")
        let gift2 = document.querySelector(".cm-picker-product-options div:nth-child(2)")
        let gift3 = document.querySelector(".cm-picker-product-options div:nth-child(3)")
        let gift4 = document.querySelector(".cm-picker-product-options div:nth-child(4)")
        let gift5 = document.querySelector(".cm-picker-product-options div:nth-child(5)")
        let gift6 = document.querySelector(".cm-picker-product-options div:nth-child(6)")
        let gift7 = document.querySelector(".cm-picker-product-options div:nth-child(7)")
        let infor = []
        location.forEach((item) => {
            infor.push({
                Name: name.innerText,
                Price: price.innerText,
                Gift: gift.innerText,
                Gift2: gift2.innerText,
                Gift3: gift3.innerText,
                Gift4: gift4.innerText,
                Gift5: gift5.innerText,
                Gift6: gift6.innerText,
                Gift7: gift7.innerText
            });
        }); return infor;
    });
    console.log(model);
    exportToExcel(model);
    exportToCSV(model);
    await browser.close();
})();