Je cherche un moyen de faire du "screen-scraping" C'est à dire de lire
le HTML d'une page distante, d'en rapatrier tout ou partie (vive les
expressions régulières) sur mon serveur (afin de pouvoir l'exploiter).
Je sais le faire en .Net (c'est la classe WebRequest), mais je ne
trouve aucun exemple sur Google pour Java.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
benoit
regarde java.net.URL (new URL(url)).openStream() ca devrait faire l'affaire , mais si tu veux recup l'encoding passe par URL url = new URL("http://...."); URLConnection urlConnection = url.openConnection() BufferedReader reader = new BufferedReader( new InputStreamReader( urlConnection.getOuputStream(), urlConnection.getContentEncoding())); voila ca devrait suffire
benoit
|||Cypher||| wrote:
Bonjour à tous.
Je cherche un moyen de faire du "screen-scraping" C'est à dire de lire le HTML d'une page distante, d'en rapatrier tout ou partie (vive les expressions régulières) sur mon serveur (afin de pouvoir l'exploiter).
Je sais le faire en .Net (c'est la classe WebRequest), mais je ne trouve aucun exemple sur Google pour Java.
Auriez-vous une idée, un bout de code ?
A vot' bon coeur m'sieur dame !
;-)
regarde java.net.URL
(new URL(url)).openStream()
ca devrait faire l'affaire , mais si tu veux recup l'encoding passe par
URL url = new URL("http://....");
URLConnection urlConnection = url.openConnection()
BufferedReader reader = new BufferedReader(
new InputStreamReader(
urlConnection.getOuputStream(),
urlConnection.getContentEncoding()));
voila ca devrait suffire
benoit
|||Cypher||| wrote:
Bonjour à tous.
Je cherche un moyen de faire du "screen-scraping" C'est à dire de lire
le HTML d'une page distante, d'en rapatrier tout ou partie (vive les
expressions régulières) sur mon serveur (afin de pouvoir l'exploiter).
Je sais le faire en .Net (c'est la classe WebRequest), mais je ne
trouve aucun exemple sur Google pour Java.
regarde java.net.URL (new URL(url)).openStream() ca devrait faire l'affaire , mais si tu veux recup l'encoding passe par URL url = new URL("http://...."); URLConnection urlConnection = url.openConnection() BufferedReader reader = new BufferedReader( new InputStreamReader( urlConnection.getOuputStream(), urlConnection.getContentEncoding())); voila ca devrait suffire
benoit
|||Cypher||| wrote:
Bonjour à tous.
Je cherche un moyen de faire du "screen-scraping" C'est à dire de lire le HTML d'une page distante, d'en rapatrier tout ou partie (vive les expressions régulières) sur mon serveur (afin de pouvoir l'exploiter).
Je sais le faire en .Net (c'est la classe WebRequest), mais je ne trouve aucun exemple sur Google pour Java.
Auriez-vous une idée, un bout de code ?
A vot' bon coeur m'sieur dame !
;-)
ocotasson
Merci! Connaissant la classe (java.net.URL) la recherche sur Google est beaucoup plus productive. ;-)
J'ai trouvé le snippet suivant qui me donne satisfaction :
/** ReadUrl.java by Neil Moomey * Example of use: java UrlReader http://www.google.com * This class reads a URL and returns the content with readUrl */ import java.net.*; import java.io.*;
String readUrl() { try { // Define a URL URL sourceURL = new URL(getUrl()); // Get a character input stream for the URL BufferedReader in = new BufferedReader( new InputStreamReader( sourceURL.openStream()));
System.out.println("nnnReading the file " + sourceURL.getFile() + " on the host " + sourceURL.getHost() + " using " + sourceURL.getProtocol());
String linebuffer; // Buffer to store each line String bigbuffer=""; // Buffer to store all lines while(!(null==(linebuffer=in.readLine()))) bigbuffer += linebuffer +"n"; in.close(); // Close the input stream return bigbuffer; } catch(MalformedURLException e) { System.out.println("Failed to create URL:n" + e); } catch(IOException e) { System.out.println("File error:n" + e); } return null; } // main class for testing public static void main(String[] args) { if (args.length==0) System.out.println("Example of use: java UrlReader http://www.google.comn"); UrlReader ur = new UrlReader(args[0]); String content = ur.readUrl(); System.out.println("The method ur.readUrl() returns the String:n"+content); } }
Merci! Connaissant la classe (java.net.URL) la recherche sur Google
est beaucoup plus productive. ;-)
J'ai trouvé le snippet suivant qui me donne satisfaction :
/** ReadUrl.java by Neil Moomey
* Example of use: java UrlReader http://www.google.com
* This class reads a URL and returns the content with readUrl
*/
import java.net.*;
import java.io.*;
String readUrl() {
try {
// Define a URL
URL sourceURL = new URL(getUrl());
// Get a character input stream for the URL
BufferedReader in = new BufferedReader(
new InputStreamReader(
sourceURL.openStream()));
System.out.println("nnnReading the file " +
sourceURL.getFile() +
" on the host " + sourceURL.getHost() +
" using " + sourceURL.getProtocol());
String linebuffer; // Buffer to store each line
String bigbuffer=""; // Buffer to store all lines
while(!(null==(linebuffer=in.readLine())))
bigbuffer += linebuffer +"n";
in.close(); // Close the input
stream
return bigbuffer;
}
catch(MalformedURLException e) {
System.out.println("Failed to create URL:n" + e);
}
catch(IOException e) {
System.out.println("File error:n" + e);
}
return null;
}
// main class for testing
public static void main(String[] args) {
if (args.length==0) System.out.println("Example of use: java
UrlReader http://www.google.comn");
UrlReader ur = new UrlReader(args[0]);
String content = ur.readUrl();
System.out.println("The method ur.readUrl() returns the
String:n"+content);
}
}
Merci! Connaissant la classe (java.net.URL) la recherche sur Google est beaucoup plus productive. ;-)
J'ai trouvé le snippet suivant qui me donne satisfaction :
/** ReadUrl.java by Neil Moomey * Example of use: java UrlReader http://www.google.com * This class reads a URL and returns the content with readUrl */ import java.net.*; import java.io.*;
String readUrl() { try { // Define a URL URL sourceURL = new URL(getUrl()); // Get a character input stream for the URL BufferedReader in = new BufferedReader( new InputStreamReader( sourceURL.openStream()));
System.out.println("nnnReading the file " + sourceURL.getFile() + " on the host " + sourceURL.getHost() + " using " + sourceURL.getProtocol());
String linebuffer; // Buffer to store each line String bigbuffer=""; // Buffer to store all lines while(!(null==(linebuffer=in.readLine()))) bigbuffer += linebuffer +"n"; in.close(); // Close the input stream return bigbuffer; } catch(MalformedURLException e) { System.out.println("Failed to create URL:n" + e); } catch(IOException e) { System.out.println("File error:n" + e); } return null; } // main class for testing public static void main(String[] args) { if (args.length==0) System.out.println("Example of use: java UrlReader http://www.google.comn"); UrlReader ur = new UrlReader(args[0]); String content = ur.readUrl(); System.out.println("The method ur.readUrl() returns the String:n"+content); } }