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

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"
?>
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
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) 
		{
 
		}
 
	}
}
le résultat marche bien car j'ai enregistré la pages résultat.php en test.html.

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.