Bonjour à tous!
Je viens vers vous car cela fait des lustres que je n'ai pas touché au PHP et je n'arrive pas à extraire et organiser les données d'une table en HTML depuis une URL distante...
J'aimerais extraire les informations suivantes depuis ce site:
https://www.picata.fr/disque-ssd/crucial/46734.aspx
Pour simplifier j'aimerais inscrire le tout dans un tableau avec le titre et la description associée.
Pour le moment j'ai tenté avec domDocument mais le résultat est bien éloigné de ce que j'aimerais.
Voici où j'en suis:
Ce que j'aimerais:
Mon code actuel:Description, Description
"Désignation","Crucial BX500 1 To"
"Marque","Crucial Crucial"
"Modèle","CT1000BX500SSD1"
"Interface avec l'ordinateur","Serial ATA 6Gb/s (SATA Revision 3)"
"Format de Disque","2" 1/2"
"Capacité","1 To"
"NVMe","Non"
"Vitesse en lecture","540 Mo/s"
"Vitesse en écriture","500 Mo/s"
"Compatible TRIM","Oui"
"Largeur","63.5 mm"
"Hauteur","7 mm"
"Profondeur","100.3 mm"
Code php : 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 <?php ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL); $data = file_get_contents('https://www.picata.fr/disque-ssd/crucial/46734.aspx'); $dom = new domDocument; @$dom->loadHTML($data); $dom->preserveWhiteSpace = false; $tables = $dom->getElementsByTagName('table'); $a = array(); foreach($tables as $k => $table) { foreach($table->getElementsByTagName('tr') as $td) { $a['table_' . $k][] = array_values(array_filter(explode(' ', str_replace(array("\n", "\r"), "", $td->nodeValue)))); } } $tr = $a['table_1']; foreach ($tr as $td) { echo 'Title:', $td[0], '<br>'; print_r($td); echo "<br><br><br>"; } ?>
Je vous remercie par avance pour votre temps!
Cordialement.
Partager