Aller au contenu

[Résolu] Traiter contenu d'une page web


Femto

Recommended Posts

Bonjour,

je veut me lancer dans une application mais je ne sais pas par où commencer.

Je voudrais savoir comment récupérer un contenu spécifique, exemple une image, en connaissant le nom de la page web en question mais pas celui de l'image.

Je prend exemple sur Bonjour Poney : http://www.bonjourponey.fr/page/1, je sais que mon image est dans cette section :

</div>
<div class="photo">
<div class="permalink"><a href="http://25.media.tumblr.com/tumblr_le1up3vMPF1qb4gnro1_400.jpg" class="permalink">+</a></div>
<a href="http://25.media.tumblr.com/tumblr_le1up3vMPF1qb4gnro1_400.jpg"><img src="http://25.media.tumblr.com/tumblr_le1up3vMPF1qb4gnro1_400.jpg" alt="proposé par Victoire" /></a>
</div>
</div>

Comment moi du coté code je pourrais dire "je veut récupérer le lien dans <div class="photo"> ----> <div class="permalink"> " ?

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je vois deux solutions à ça :

1- Utiliser htmlparser : http://htmlparser.sourceforge.net/ , si tu as plutôt pas mal de données à extraire.

je l'ai déjà utilisé et ça fonctionne bien (~280 ko); c'est à base de filtre sur l'arborescence des tag html. Tu as des exemples sur le site.

2- Utiliser les expressions régulières, si tu as peu de données à extraire.

exemple en 2 temps :

	Pattern pat = Pattern.compile(".*<div class=\"photo\">((.|\\n)*?)</a></div>");

	String partHtml = "le contenu de ton fichier html";

	Matcher mat = pat.matcher(partHtml);

	if (mat.find()){
		String subHtml = mat.group(0);
		logger.info("Match: " + subHtml );
		Pattern pat2 = Pattern.compile(".*<a href=\"(.*?)\"");
		Matcher mat2 = pat2.matcher(subHtml);

		if(mat2.find()){
			logger.info("Resultat : " + mat2.group(1));
		}

	}

A+

Lien vers le commentaire
Partager sur d’autres sites

Arf j'aurais du revenir faire un tour voir si on m'avais répondu.

Merci de ton aide ! En effet de mon coté à un moment j'ai eu l'idée d'utiliser un parseur de html, mais j'en suis pas trop satisfait pour le moment.

Donc je vais essayer le tiens voir ce que ça donne et aussi la méthode avec l'expression régulière.

Merci encore :)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...