Partage
  • Partager sur Facebook
  • Partager sur Twitter

Récupération de données Web!

Sujet résolu
1 août 2009 à 20:54:09

Bonjour,
Je réalise un programme Java et je souhaiterai savoir s'il est possible de récupéré par l'intermédiaire de ce programme ou d'un autre du contenu d'une page internet.

Exemple : Météo, ...


Merci.




EDIT:
Enfaite pour être un peu plus précis, il me faut un programme web ou java qui se connecte à une heure précise sur un/plusieurs sites web afin de récupérer des données et de les écrire dans un .txt pour être interprété par la suite dans mon programme.

Si je ne me trompe pas, il s'agit d'une sorte de "bot" non?

Merci de m'aider si vous avez des idées car ça n'a pas l'air très utilisé à ce que j'ai vu.
  • Partager sur Facebook
  • Partager sur Twitter
2 août 2009 à 22:54:52

Non? Personne?
Je suis tout aussi ouvert pour utiliser quelque chose "qui existe déjà et fais tout tout seul" que de programmer quelque chose :)



EDIT:

Finalement j'ai trouvé une solution mais je ne sais pas si c'est la meilleur car je ne peux pas réaliser ceci sans ouvrir internet en premier plan.
De plus, c'est un peu "bourrin" comme méthode...

Enfaite, j'utilise simplement la classe "robot" qui me permet de simuler des clics, des touches, faire des captures d'écran, etc... mais est-ce que je suis autorisé à faire cela sur des sites qui ne m'appartiennent pas?
  • Partager sur Facebook
  • Partager sur Twitter
2 août 2009 à 23:40:29

Nooooooooon pas la methode des clic de souris c'est trop sale.

Pour recuperer le contenu d'une page web tu peux toujours tenter de te connecter en http et de recuperer la reponse du serveur, ce qui te permettra de pouvoir recuperer le contenu de la page.

EDIT : ici ton bonheur : http://www-igm.univ-mlv.fr/~roussel/RE [...] java.url.html
  • Partager sur Facebook
  • Partager sur Twitter
J'ai tous les badges d'OpenClassrooms.
2 août 2009 à 23:55:18

Oui en effet c'est pas très propre on est d'accord :)

Je vais tester ta méthode!
Merci :)


edit:
Après avoir lu la doc, j'ai essayé de faire ça sur mon programme...
import java.io.*;
import java.net.*;

public class main  {
public static void main(String[] argv){
 try{
 URL url = new URL("monsiteweb");
 String texte = (String) url.getContent();
 System.out.println(texte);
 }
 catch(MalformedURLException e){
 System.out.println(e);
 }
 catch(IOException e){
 System.out.println(e);
 }
 }
}





... Mais celui-ci me renvoi l'erreur :
Exception in thread "main" java.lang.ClassCastException: sun.net.www.protocol.http.HttpURLConnection$HttpInputStream cannot be cast to java.lang.String
at main.main(main.java:10)




De plus, je n'ai pas bien compris la suite, mais quelle méthode me permet de récupérer des données du site web? Le code source?


Merci :)
  • Partager sur Facebook
  • Partager sur Twitter
3 août 2009 à 0:33:02

Voila :
import java.io.*;
import java.net.*;

public class Demo{
public static void main(String[] argv){
 try{
 URL url = new URL("http://www.siteduzero.com/forum-83-429067-p1-recuperation-de-donnees-web.html#r4003054");
 
 URLConnection con=url.openConnection();
 System.out.println(con.getContent());
    InputStream input = con.getInputStream();
    while(input.available()>0)
    System.out.print((char)input.read());
 }
 catch(MalformedURLException e){
 System.out.println(e);
 }
 catch(IOException e){
 System.out.println(e);
 }
 }
}
  • Partager sur Facebook
  • Partager sur Twitter
J'ai tous les badges d'OpenClassrooms.
3 août 2009 à 0:43:03

Merci ça fonctionne à la perfection mais une question, a quoi sert "#r4003054" après l'adresse?
  • Partager sur Facebook
  • Partager sur Twitter
3 août 2009 à 0:53:12

après l'adresse ? c'est de l'html ça. c'est pour faire des liens internes aux pages web. J'ai juste repris l'adresse du siteduzero sur laquelle je me trouvais
  • Partager sur Facebook
  • Partager sur Twitter
J'ai tous les badges d'OpenClassrooms.
3 août 2009 à 1:49:58

Juste pour information cela se nomme une ancre le lien interne avec le dièse. Et pour la suite de ton programme pour extraire des infos d'un site je pense que tu auras besoin des regex...
  • Partager sur Facebook
  • Partager sur Twitter
3 août 2009 à 1:52:26

Ça marche merci ;)
Sujet résolu
  • Partager sur Facebook
  • Partager sur Twitter
6 août 2009 à 17:20:40

Une petite question me vient à l'esprit :

Est-il possible de récupérer par cette méthode du contenu protégé par log+mdp? (exemple ma boite hotmail)


Merci :)
  • Partager sur Facebook
  • Partager sur Twitter
6 août 2009 à 19:57:33

C'est Impossible de recuperer ainsi le contenu log/mdp pour la simple raison que les donnés sont stockées sur le serveur et que avec cette méthode tu ne recupère que ce que ton client (navigateur) t'a passé.

Si tu veux recupérer ce genre de contenu il va te falloir passer par un script, je ne sais pas perso si une applet peux passer. techniquement ça peut marcher, mais je pense que les input de type password, sont interdit de copie dans les navigateurs
  • Partager sur Facebook
  • Partager sur Twitter
J'ai tous les badges d'OpenClassrooms.
6 août 2009 à 22:19:36

Hum bien ok à la rigueur je peux combiner cela à la méthode "super bourrine" que j'ai essayer qui consiste à simuler souris/clavier, pour me loguer...?!
  • Partager sur Facebook
  • Partager sur Twitter
6 août 2009 à 23:15:47

Je te conseille pas cette méthode.

Que des inconvénients, et ça ne marchera meme pas.
  • Partager sur Facebook
  • Partager sur Twitter
J'ai tous les badges d'OpenClassrooms.
Anonyme
7 août 2009 à 10:36:53

Tu peux peut être faire une requête en POST avec le contenu du formulaire pour faire comme si tu avais rempli le formulaire.
  • Partager sur Facebook
  • Partager sur Twitter
7 août 2009 à 17:34:15

Citation : angelsafrania

Tu peux peut être faire une requête en POST avec le contenu du formulaire pour faire comme si tu avais rempli le formulaire.


Oui mais le temps que la requete post s'execute sur le serveurs, et renvoi le resultat ? sa méthode bourrin mettra des années a s'arreter (et je n'exagere pas, loin de là)
  • Partager sur Facebook
  • Partager sur Twitter
J'ai tous les badges d'OpenClassrooms.
3 mars 2017 à 11:15:12

Bonjour

comment récupéré les données(quelle est les méthode efficace utilise)d'un site météo (avec PHP,XML,ou html)pour exploite dans ma base des données?

  • Partager sur Facebook
  • Partager sur Twitter
18 septembre 2020 à 11:48:44 - Message modéré pour le motif suivant : Message complètement hors sujet


18 septembre 2020 à 13:11:16

@TojoniainaManovosoa Bonjour, merci de ne pas déterrer d'ancien sujet résolu.

Déterrage

Citation des règles générales du forum :

Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.

Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre.
En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.

Au lieu de déterrer un sujet il est préférable :

  • soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
  • soit de créer un nouveau sujet décrivant votre propre contexte
  • ne pas répondre à un déterrage et le signaler à la modération

Je ferme ce sujet. En cas de désaccord, me contacter par MP.

  • Partager sur Facebook
  • Partager sur Twitter