Scrapping PHP : tabulation dans le csv

Résolu
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   -  
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je souhaite scrapper les données de ce tableau sur ce site (https://www.carburants.org/prix-carburants/) en PHP. J'arrive à afficher les données mais elles n'apparaissent pas sous la forme de tableau (avec des tabulations, un header, etc.). Voyez vous ce que je pourrais modifier pour y arriver ?

<?php
    header('Content-Type: text/csv');
    require __DIR__ . "/vendor/autoload.php";
    use Goutte\Client;
 
    $client = new Client();
    $crawler = $client->request('GET', 'https://www.carburants.org/prix-carburants/');
    $out = fopen('donnees.csv', 'w');

    $crawler->filter('table tr')->each(function ($node) use ($out) {
        $nom = $node->text();
        fputcsv($out, [$nom]);
        
    });

    fclose($out);

?>


Les données telles qu'elles apparaissent dans le csv:
DépartementGasoilSP98SP95E10E85GPL
Ain (01)1,813€1,817€1,773€1,713€0,775€0,859€
Aisne (02)1,802€1,837€1,794€1,728€0,757€0,813€
Allier (03)1,816€1,837€1,784€1,732€0,758€0,809€
Alpes-de-Haute-Provence (04)1,824€1,840€1,812€1,736€0,791€0,799€
Hautes-Alpes (05)1,826€1,843€1,845€1,749€0,803€0,839€
Alpes-Maritimes (06)1,833€1,856€1,826€1,751€0,777€0,826€
(...)


Merci d'avance

A voir également:

2 réponses

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,
il suffit de regarder la documentation de la fonction pour voir que tu peux y ajouter des options .. comme le type de séparateur à utiliser
https://www.php.net/manual/fr/function.fputcsv.php

Par contre, il ne faut pas oublier qu'un CSV c'est juste un fichier texte dont les données sont séparées par ( de base une virgule, sauf si tu changes l'option ).
ça ne fera jamais un "tableau".

J'ai l'impression que tu t'attends à avoir un truc à la Excel ...
Dans ce cas, soit tu retravailles le csv dans ton logiciel de tableur ....

Soit tu fais une export dans le bon format directement..
Pour ça, il existe des librairies telles que phpSpreadSheet ou SpOut



1
nik029 Messages postés 281 Date d'inscription   Statut Membre Dernière intervention   44
 
Merci :)
0