Partage
  • Partager sur Facebook
  • Partager sur Twitter

Je veux extraire certaines images d'une page web

    23 novembre 2010 à 22:46:57

    Bonsoir,
    Comment allez vous ?

    Je souhaite extraire les liens de certaines images d'un site web...


    Celles qui se terminent par s.jpg
    Pour ce faire j'ai créer un programme qui extrait la page web, puis sépare le code source en plusieurs chaînes de caractères...
    Celles qui m'intéressent se nomme donc scr="http://.........s.jpg"
    Comment faire une "reconnaissance" ? ^^" (genre scr*s.jpg" == a chaine tester...)
    Puis, retirer les scr=" du début et le " de la fin ? ^^'
    Après, il me resterai plus qu'à enregistrer cela dans un tableau ^^ (et en faire ce que je souhaite en faire ^^)


    import java.io.BufferedInputStream;
    import java.io.BufferedWriter;
    import java.io.FileWriter;
    import java.io.PrintWriter;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.util.StringTokenizer;
    
    
    public class TESTS10 {
    	public static void main(String[] args) throws Exception {
    		HttpURLConnection conn = (HttpURLConnection) new URL("urldelapage").openConnection();
    		conn.connect();
    
    		BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
    PrintWriter ecrivain;
    
    		    ecrivain =  new PrintWriter(new BufferedWriter(new FileWriter("fichier.txt")));
    		byte[] bytes = new byte[1024];
    		int tmp ;
    		while( (tmp = bis.read(bytes) ) != -1 ) {
    			
    		   
    
    			String chaine = new String(bytes,0,tmp);
    			System.out.print(chaine);
    			ecrivain.println(chaine);
    			
    			StringTokenizer st = new StringTokenizer(chaine);
    		     while (st.hasMoreTokens()) {
    		         
    		         System.out.println(st.nextToken());
    		     
    		     }
    		
    		}
    		
    		ecrivain.close();
    		conn.disconnect();
    	}
    }
    


    Pour tester la ressemblance, je sais que l'on peux découper la chaîne de caractère lettres par lettres et ainsi trouver (ce que j'ai essayer de faire pour tester ne semble pas très bien fonctionner... ^^")

    while (st.hasMoreTokens()) {
        String mots;
        mots = st.nextToken();
        String[] result = mots.split("");
        for (int x=0; x<result.length; x++){
            System.out.println(result[x]);}
    


    Après, avoir découper... je pense qu'il faudrait que je fasse quelque chose comme cela...

    a=lettre.length-1;
    if (lettre[0] == s){if (lettre[1] == r){...etc...)
    if (lettre[a] == "){--a; if (lettre[a] == g){...etc...){/* alors, c'est la chaîne que l'on cherche... */)

    on arrive donc avec scr="....s.jpg" de là, je pourrait faire un tableau dont les valeurs iraient du h au g...
    Mais, je ne vois pas trop comment rentrer dans un tableau la valeur http://........s.jpg (je pense savoir comment l'afficher mais je vois pas comment la rentrer dans mon tableau

    Pourriez vous m'expliquer ce qu'il faut faire, et me dire pourquoi mon programme actuel pour le découpage des lettres ne semblent pas fonctionner correctement ? ^^'

    Merci d'avance

    Ah, aussi... il doit exister des manières de faire bien plus facile que celle que j'essaye de faire... mais, je commence juste à apprendre le java... et je ne les connais pas ^^' (non, c'est pas de ma seule volonté se j'emprunte le chemin le plus ardu ^^")
    • Partager sur Facebook
    • Partager sur Twitter
      24 novembre 2010 à 18:40:26

      Salut,

      Pour découper ta variable de type string plus proprement tu peux utiliser
      Substring(x,y) retourne une chaine de x à y (y non inclus)

      Donc pour supprimer au début src=" et " de la fin ça donnerait :

      taVariableString=taVariableString.susbring(5,taVariableString.length()-1);
      


      Voila :D

      Ensuite pour ton tableau tu fais

      String MonTableauDeString = new String[TAILLE];
      et tu mets tes liens dedans

      Luwangel
      • Partager sur Facebook
      • Partager sur Twitter

      Je veux extraire certaines images d'une page web

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown