Ce didacticiel montre le web scraping à l'aide de la bibliothèque Cheerio de JavaScript pour extraire des films primés aux Oscars de Wikipédia et les enregistrer dans un fichier CSV.
Tout d'abord, installez les packages requis :
<code class="language-bash">npm install cheerio axios</code>
L'URL de la page Wikipédia est :
<code class="language-javascript">const url = 'https://en.wikipedia.org/wiki/List_of_Academy_Award%E2%80%93winning_films';</code>
Le code récupère le HTML de la page en utilisant axios
, puis utilise Cheerio pour l'analyser :
<code class="language-javascript">const { data: html } = await axios.get(url); const $ = cheerio.load(html); const theadData = []; const tableData = [];</code>
Le script parcourt le DOM, extrayant les données des cellules du tableau :
<code class="language-javascript">$('tbody').each((i, column) => { const columnData = []; $(column).find('th').each((j, cell) => { columnData.push($(cell).text().replace('\n', '')); }); theadData.push(columnData); }); tableData.push(theadData[0]); $('table tr').each((i, row) => { const rowData = []; $(row).find('td').each((j, cell) => { rowData.push($(cell).text().trim()); }); if (rowData.length) tableData.push(rowData); });</code>
Enfin, les données extraites sont formatées et enregistrées dans un fichier CSV en utilisant fs.writeFileSync
, avec des points-virgules comme délimiteurs :
<code class="language-javascript">const csvContent = tableData.map((row) => row.join(';')).join('\n'); fs.writeFileSync('academy_awards.csv', csvContent, 'utf-8');</code>
Exécutez le script en utilisant :
<code class="language-bash">node scraper.js</code>
Le fichier academy_awards.csv
résultant contient les données récupérées.
Ce didacticiel s'appuie sur des didacticiels de scraping précédents utilisant Go et Python. Pensez à soutenir l'auteur si cela a été utile :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!