Parseur HTML en Jsoup PHP
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:
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:
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.