2011-01-01 2 views
0

je dois obtenir un numéro d'une page Web externevaleur get de la page Web externe (php ou java)

<span> 
<b>Maximum price:</b> 
7 //value i need 
</span> 

affichage dit alors le numéro

+0

Vous allez devoir nous donner plus de détails, ici. Voulez-vous écrire un script en PHP ou Java qui va chercher un site web sur HTTP et en extraire une partie? Ou quoi? – Borealid

+0

S'il vous plaît modifier votre message et développer plus. –

Répondre

0

Si vous connaissez l'adresse de la page et vous êtes sûr que leur contenu ne changera pas pendant le temps, vous pouvez trouver le numéro au moyen de DOM. Mais j'ai besoin de plus de détails sur votre problème.

+0

http://services.runescape.com/m=itemdb_rs/viewitem.ws?obj=1040 J'essaie d'obtenir les valeurs de l'homme et du prix du marché. – Anthony

+0

Téléchargez d'abord le PHP Simple HTML DOM Parser ici: http://sourceforge.net/projects/simplehtmldom/files/ alors vous pouvez utiliser ses exemples ici: http://simplehtmldom.sourceforge.net/ Si vous avez besoin de plus d'aide s'il vous plaît faites le moi savoir. – ehsun7b

+0

// Créer un DOM à partir d'une URL ou d'un fichier $ html = file_get_html ('http://www.google.com/'); // Trouver toutes les images foreach ($ html-> find ('img') as $ element) echo $ element-> src. «
»; // Trouver tous les liens foreach ($ html-> find ('a') as $ element) echo $ element-> href. «
»; – ehsun7b

1

Le code suivant fonctionne. J'ai utilisé ce fil comme la page source.

<?php 

// Read the whole file. 
$lines = file('http://stackoverflow.com/questions/4573498/get-value-from-external-webpage-php-or-java'); 

// Go through every line .. 
while ($line = array_shift($lines)) { 

     // Stop when you find the label we're looking for. 
     if (strpos($line, 'Maximum price') !== false) break; 

} 

// The next line has your value on it. 
$line = array_shift($lines); 

// Print the first word on the line. 
$values = explode(' ', $line); 
echo $values[0]; 
+1

La fonction split est obsolète. – Anthony

+0

Merci d'avoir signalé cela. Je l'ai remplacé par un appel explode() équivalent. –

2

En Java, vous pouvez utiliser la bibliothèque HTMLUnit. C'est bon pour l'extraction HTML. Par exemple quelque chose de similaire à:

webClient=new WebClient(); 
HtmlPage page=webClient.getPage(url); 
for(HtmlElement elem:page.getElementsByTagName("span")) { 
    //And then getChildren(), getText ... 
} 
Questions connexes