Bonjour à toutes et à tous,
Je viens de commencer mon alternance dans une TPE de développement web, et je suis le seul à faire du NodeJS. Je vous explique mon problème, j'ai développé une petite API avec Puppeteer permettant de faire du web scraping sur des sites dynamiques. Mon API me renvoie dans la console ce que j'ai récupéré au format JSON, et je souhaiterais enregistrer ce contenu dans un fichier JSON. J'ai utilisé le paquet 'fs', puis j'ai utilisé la méthode wrietFileSync de ce paquet pour écrire le contenu du site au format JSON dans mon fichier, mais quand je lance mon script, ça me renvoie :
Bien-sûr j'ai cherché de mon côté pour voir si je trouvais quelque chose, mais malheureusement mes recherches ont été infructueuses...
Je joins le code de l'API :
Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 const puppeteer = require('puppeteer') const fs = require('fs') let bookingUrl = 'https://www.astrazeneca.com/media-centre/press-releases.html'; (async () => { const browser = await puppeteer.launch({ headless: true }) const page = await browser.newPage() await page.setViewport({ width: 1920, height: 926 }) await page.goto(bookingUrl) // Get page details let newsData = await page.evaluate(() => { let news = [] let newsElements = document.querySelectorAll('.filter-items__results-list .filter-items__results-list-item') newsElements.forEach((newsElement) => { let newsJson = {} try { newsJson.name = newsElement.querySelector('a div .filter-items__results-item-title').innerText newsJson.elmementLink = newsElement.querySelector('.filter-items__results-item').href newsJson.created = Date.now() newsJson.abstract = '' } catch (exception) { } news.push(newsJson) }) const newsTrimmed = news.filter(n => n !== undefined) fs.writeFileSync('news.json', JSON.stringify(newsTrimmed, null, 4), (err) => console.log('File successfully written !')) return news }) console.dir(newsData) })()
Partager