[XML] Simple html dom : boucle qui fonctionne une seule fois !
Bonjour,
J'essaye de récupérer des partie d'un html sur un site, en utilisant un parseur "simple html dom" le problème qui se pose c'est ma boucle qui ne fonctionne qu'une seule fois et je ne retrouve pas ou ça coince !
Code:
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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
<?php
// connexion à la bdd
$conn = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('medoc');
?>
<?php
// récupérer le numéro cis du medicament depuis une liste de numéro dans un fichier class.csv
$csv = file_get_contents("class.csv");
require_once 'simple_html_dom.php';
function readCSV($csvFile){
$file_handle = fopen($csvFile, 'r');
while (!feof($file_handle) ) {
$line_of_text[] = fgetcsv($file_handle, 1024);
}
fclose($file_handle);
return $line_of_text;
}
$csvFile = 'class.csv';
$csv = readCSV($csvFile);
// parser l'url jusqu'a 100 fois en utilisant le numéro récupérér et l'injectant dans le lien
$i=0;
while ($i<100){
$rcp = $csv[$i][0];
$lien = 'http://agence-prd.ansm.sante.fr/php/ecodex/rcp/R0'.$rcp.'.htm';
echo "Traitement du lien: <strong>".$lien."</strong> ... en cours. <br />";
$html = new simple_html_dom();
$html->load_file(''.$lien.'');
foreach($html->find('p[class=AmmDenomination]') as $word)
$titre = $word->plaintext;
echo "Extraction du titre: <strong>".$titre."</strong><br />";
$exe = mysql_query("INSERT INTO rcp (titre) VALUES('$titre')");
ob_flush();
flush();
sleep(2);
echo "<br />Titre du rcp <strong>".$rcp."</strong> ajouté avec succés dans la BDD<br />";
$i=$i+1;
echo "la boucle numero: <strong>".$i."</strong> va commencer <br />";
flush();
ob_flush();
flush();
ob_flush();
flush();
ob_flush();
}
?> |
le Résultat est :