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 !
le Résultat est :
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
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(); } ?>
Traitement du lien: http://agence-prd.ansm.sante.fr/php/...p/R0235297.htm ... en cours.
Extraction du titre: AGRASTAT 50 microgrammes/ml, solution pour perfusion
Titre du rcp 235297 ajouté avec succés dans la BDD
la boucle numero: 1 va commencer
Traitement du lien: http://agence-prd.ansm.sante.fr/php/...p/R0235296.htm ... en cours.
Fatal error: Call to a member function find() on a non-object in D:\wamp\www\parse\simple_html_dom.php on line 1113
Partager