首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用puppeteer编写csv文件

使用puppeteer编写csv文件
EN

Stack Overflow用户
提问于 2020-11-10 07:30:44
回答 1查看 413关注 0票数 0

在使用puppeteer进行抓取之后,我想为我的输出写一个csv文件。我尝试了不同的方法,但没有得到结果。这是我想要导出到csv文件的部分数据代码。

代码语言:javascript
复制
 async function main(){

 const allinks = await getLinks();
 //console.log(allinks);
  const browser = await puppeteer.launch({headless:false});
 const page = await browser.newPage();
 await page.setDefaultNavigationTimeout(0);
 


    for (let link of allinks){
     const data = await getInfoscrape(link,page);
    

   }
  } main();

我的数据结构是: Poste

Contrat Salaire Diplome Experience Travail描述

对于结果,我将其作为json,所以我想写成csv文件‘

代码语言:javascript
复制
{
    Poste: 'Lead Développeur',
    Contrat: 'CDI ',
    Salaire: 'Salaire entre 65K € et 75K €',
    Diplome: 'Bac +5 / Master',
    Experience: '> 3 ans',
    Travail: 'Télétravail partiel possible',
    Description: 'En tant que Lead Développeur(se), tu seras chargé(e) de mentorer des développeurs de Galadrim dans l’objectif de les faire progresser. Les tâches typiques du poste sont les suivantes :faire des code reviews sur différents projets\n' +
      'participer au choix des technologies et de l’architecture sur les nouveaux projets\n' +
      'faire des sessions de pair-programming avec les développeurs\n' +
      'aider à la résolution des problèmes les plus complexes\n' +
      'faire de la veille technique\n' +
      'Une application mobile de rencontres\n' +
      'Un moteur de réservation en ligne pour des parcours de golf\n' +
      'Un site web de commande de box par abonnement pour un grand groupe de cosmétiques\n' +
      'Un logiciel de caisse'
  },

代码语言:javascript
复制
  '''
EN

回答 1

Stack Overflow用户

发布于 2020-11-10 07:51:24

我使用Node内置的"fs“模块来编写.csv。

如下所示:

代码语言:javascript
复制
const fs = require("fs")
let data = fs.readFileSync("./data.json") // an array of objects
data = JSON.parse(data);

let csv = "locationPoint\taddress\tschedule\tfarmName\n";

data.forEach( ferme => {
  csv += ferme.locationPoint + `\t`;
  csv += ferme.fullAddress + `\t`;
  csv += ferme.schedule + `\t`;
  csv += ferme.farmName + "\n";
})

console.log('@success', csv);
fs.writeFileSync("fermes.csv", csv)

请注意,在我的示例中,我使用制表符而不是逗号;我的数据很容易包含逗号。

对于您的情况,您可以替换:

代码语言:javascript
复制
let csv = "locationPoint\taddress\tschedule\tfarmName\n";

通过以下方式:

代码语言:javascript
复制
let csv = "Poste\tContrat\tSalaire\tDiplome\tExperience\tTravail\tDescription\n";      

对于forEach循环中的其余值,也是如此。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64760732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档