Se connecter a un site internet
Fermé
louisard2
Messages postés
11
Date d'inscription
mercredi 26 août 2015
Statut
Membre
Dernière intervention
6 octobre 2023
-
26 août 2015 à 01:24
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 26 août 2015 à 16:20
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 26 août 2015 à 16:20
A voir également:
- Se connecter a un site internet
- Se connecter à ma boite hotmail - Guide
- Se connecter à un autre compte facebook - Guide
- Site de telechargement - Guide
- Gmail se connecter - Guide
- Comment connecter un chromecast - Guide
2 réponses
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
26 août 2015 à 10:45
26 août 2015 à 10:45
Bonjour,
Pour récupérer le contenu d'une page web tu peux faire :
Pour récupérer le contenu d'une page web tu peux faire :
import java.net.URL; import java.util.Scanner; public class Test { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(new URL("http://mangafox.me").openStream()); while (sc.hasNextLine()) System.out.println(sc.nextLine()); sc.close(); } }
louisard2
Messages postés
11
Date d'inscription
mercredi 26 août 2015
Statut
Membre
Dernière intervention
6 octobre 2023
26 août 2015 à 15:45
26 août 2015 à 15:45
Merci
Maintenant pour récupérer la ligne qui m'intéresse, je compte mettre tout ce qu'il récupère dans un fichier avant de le parcourir pour chercher la chaîne de caractère qui m'intéresse, mais je me disais que c'était assez long, dc du coup je me demandais s'il t'avais une solution plus rapide.
Merci
Maintenant pour récupérer la ligne qui m'intéresse, je compte mettre tout ce qu'il récupère dans un fichier avant de le parcourir pour chercher la chaîne de caractère qui m'intéresse, mais je me disais que c'était assez long, dc du coup je me demandais s'il t'avais une solution plus rapide.
Merci
KX
Messages postés
16734
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
24 avril 2024
3 015
26 août 2015 à 16:20
26 août 2015 à 16:20
"je compte mettre tout ce qu'il récupère dans un fichier avant de le parcourir pour chercher"
Pourquoi ne pas chercher directement la ligne que tu veux quand tu lis la page ?
De plus quitte à stocker, pourquoi le faire dans un fichier plutôt que directement dans un String ou une List ?
Ta page n'est pas très volumineuse (17 Ko), il vaut donc mieux privilégier la RAM, ça évitera de faire des allers-retours sur le disque. Sans parler du code de manipulation des fichiers qui serait plus lourd que nécessaire dans ton cas.
Exemple avec une expression régulière pour extraire les liens des balises <a></a>
Pourquoi ne pas chercher directement la ligne que tu veux quand tu lis la page ?
De plus quitte à stocker, pourquoi le faire dans un fichier plutôt que directement dans un String ou une List ?
Ta page n'est pas très volumineuse (17 Ko), il vaut donc mieux privilégier la RAM, ça évitera de faire des allers-retours sur le disque. Sans parler du code de manipulation des fichiers qui serait plus lourd que nécessaire dans ton cas.
Exemple avec une expression régulière pour extraire les liens des balises <a></a>
import java.net.URL; import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Test { private static final Pattern HFREF_PATTERN = Pattern.compile("<a[^>]*href=\"([^\"]*)\"[^>]*>([^<]*)</a>"); public static void main(String[] args) throws Exception { StringBuilder sb = new StringBuilder(); Scanner sc = new Scanner(new URL("http://mangafox.me/").openStream()); while (sc.hasNextLine()) sb.append(sc.nextLine().replaceAll("\\s+", " ")); sc.close(); Matcher m = HFREF_PATTERN.matcher(sb); while (m.find()) System.out.println(m.group(2) + "\n\t" + m.group(1)); } }