Se connecter a un site internet

louisard2 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention   -  
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour
Je réalise une petite appli, et j'aimerais qu'elle puisse se connecter a un site ( http://fanfox.net/ ) pour récuperer le dernier chapitre sorti d'un manga.
Si l'un de vous a une piste de recherche, une idée ou par chance une solution ca sera d'une grande aide
Merci ;)
A voir également:

2 réponses

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

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();
    }
}
0
louisard2 Messages postés 11 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
"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>

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));
    }
}
0