Bonjour,
je viens demandé de l'aide sur un projet parseur HTML en utilisant DOM.
j'ai fait tout le tour des langage pour parser la page www.speedtest.net/results.php j'aimerai parser et récupérer les donnés se trouvant dans la balise <tbody>.
j'utilise comme parseur http://simplehtmldom.sourceforge.net/ qui marche bien si la page résultat est enregistré sur un fichier html.
Pour parser les données
en Java
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 <?php include('simple_html_dom.php'); $html = file_get_html('http://www.karamna.net/test.html'); $dates = $html->find('body tr td', 2)->innertext; // result: "ok" //echo $dates . "<br>"; $ip = $html->find('body tr td', 3)->innertext ; // result: "ok" //echo $ip. "<br>"; $up = $html->find('body tr td', 4)->innertext ; // result: "ok" //echo $up. "<br>"; $down = $html->find('body tr td', 5)->innertext ; // result: "ok" //echo $down. "<br>"; $delai = $html->find('body tr td', 6)->innertext ; // result: "ok" //echo $delai. "<br>"; $country = $html->find('body tr td', 7)->innertext ; // result: "ok" ?>
le résultat marche bien car j'ai enregistré la pages résultat.php en test.html.
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
67
68
69 package javajsoup; import java.io.IOException; import java.util.ArrayList; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; public class Main { public static void main(String[] args) { Document doc; Document doc2; try { doc2 = Jsoup.connect("http://www.speedtest.net").get(); doc = Jsoup.connect("http://www.speedtest.net/result.php").get(); String titre = doc.title(); System.out.println("The Title is " + titre); Elements urls = doc.select("tbody tr td "); String done; String date = null; ArrayList<String> ar = new ArrayList<String>(); int i = 0; int j = 0; for(Element url :urls) { done = url.text(); if (done.length() > 2) { if(j < 7) { date = done; ar.add(date); i = i+1; // System.out.println("\n la vérité <tr> " + date +"\n"); j = j+1; } } // System.out.println("\n Balise <tr> " + done +"\n"); } for(int o = 0 ; o < ar.size(); o++){ String ma = ar.get(o); System.out.println(ma); } //System.out.println("\n la vérité <tr> " + date +"\n"); /*for(int j = 0; j < done.length ; j++ ) { System.out.println( done[j] + "\n"); }*/ }catch(IOException e) { } } }
Mais si je fait un test sur le navigateur(chrome ....) avec des résultats sur sur le page speedtest.net/results.php quand je lance mon parseur je reçois N/B sur tout les arguments.
Donc je comprend bien la parseur se fait du coté serveur et pas du coté client .
j'aimerais savoir s'il y a une méthode de parseur la page mais en se plassant du coté client .
j'ai essayé de le faire en java en utilisabt jsoup ,json rien sa me fait la même chose avec le parseur php.
Partager