Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Récupérer des liens

7 réponses
Avatar
Guillaume
Bonjour

Je fais un prog qui récupère les liens dans un fichier html.
Malheureusement, c'est une vraie usine à gaz. Je me base en fait sur les
caractères rencontrés dans les liens pour récupérer seulement ce qui
concerne le "href". Mais il y a beaucoup de possibilités et le prog est long
et compliqué (voire très crade !)

Quelqu'un a-t-il une autre manière de faire plus simple ???

Merci d'avance
Guillaume

7 réponses

Avatar
Pif
Bonjour

Je fais un prog qui récupère les liens dans un fichier html.
Malheureusement, c'est une vraie usine à gaz. Je me base en fait sur les
caractères rencontrés dans les liens pour récupérer seulement ce qui
concerne le "href". Mais il y a beaucoup de possibilités et le prog est long
et compliqué (voire très crade !)

Quelqu'un a-t-il une autre manière de faire plus simple ???

Merci d'avance
Guillaume


utiliser un parser (analyser syntaxique) ou les expression regulieres

(regex) directement....

Avatar
Kupee
Guillaume wrote:
Bonjour

Je fais un prog qui récupère les liens dans un fichier html.
Malheureusement, c'est une vraie usine à gaz. Je me base en fait sur les
caractères rencontrés dans les liens pour récupérer seulement ce qui
concerne le "href". Mais il y a beaucoup de possibilités et le prog est long
et compliqué (voire très crade !)

Quelqu'un a-t-il une autre manière de faire plus simple ???


J'avais utilisé un parseur : http://htmlparser.sourceforge.net/
Il a un Visitor (du design pattern de même nom) qui déclenche une action
en entrant dans un noeud d'un certain type.

Avatar
Guillaume
utiliser un parser (analyser syntaxique) ou les expression regulieres
(regex) directement....


J'ai déjà cherché un parser mais je n'ai pas trouvé (peut-être m'y suis-je
mal pris !) sinon pour les expressions régulières, j'ai pas trop l'habitude
de les utiliser. Avez vous des liens sur ce sujet (parser des liens ?

Merci d'avance
Guillaume

Avatar
Nico
"Guillaume" a écrit
Je fais un prog qui récupère les liens dans un fichier html.
Malheureusement, c'est une vraie usine à gaz. Je me base en fait sur les
caractères rencontrés dans les liens pour récupérer seulement ce qui
concerne le "href". Mais il y a beaucoup de possibilités et le prog est
long

et compliqué (voire très crade !)

Quelqu'un a-t-il une autre manière de faire plus simple ???


Ca marcherait pas avec HTMLDocument et HTMLEditorKit.ParserCallback ?
Je me sers de çà pour récupérer des infos dans une <table> HTML et çà marche
plutôt bien.

Nicolas

Avatar
Kupee
Nico wrote:
Ca marcherait pas avec HTMLDocument et HTMLEditorKit.ParserCallback ?
Je me sers de çà pour récupérer des infos dans une <table> HTML et çà marche
plutôt bien.


A mon avis la solution est plutot lente, et je pense pas qu'elle soit
très robuste face a du html mal formé
Le parseur que je donnait dans mon autre post arrive lui a parser du
html généré par Microsoft Word, c'est donc bien un gage de robustesse
non ? :D

Avatar
Nico
"Kupee" a écrit
Ca marcherait pas avec HTMLDocument et HTMLEditorKit.ParserCallback ?
Je me sers de çà pour récupérer des infos dans une <table> HTML et çà
marche


plutôt bien.


A mon avis la solution est plutot lente, et je pense pas qu'elle soit
très robuste face a du html mal formé
Le parseur que je donnait dans mon autre post arrive lui a parser du
html généré par Microsoft Word, c'est donc bien un gage de robustesse
non ? :D


C'est sur que je ne l'ai pas essayé sur beaucoup de pages. Donc je ne sais
pas pour la robustesse.
Question perfs, je n'ai même pas regardé, la page que je parse est assez
lente à récupérer (débit réseau pas terrible et en plus la page est générée
à partir d'une base de données sur un serveur surchargé) donc je ne verrais
aucune différence.

Par contre, le code est simple à faire. Le plus long c'est qu'il faut
dériver 2 classes ;)

Nicolas


Avatar
Pif
utiliser un parser (analyser syntaxique) ou les expression regulieres
(regex) directement....



le projet antlr fait ca parait il , y'en a d'autres, notamment, je crois
qu'aver un rechercher genre lex/yacc + java dans google tu dois trouver
quelques chose...

je suis désolé car je suis pas vraiment concerné, du coup j'ai croisé ca
quelque part pis je sais qu'il en existe qui parsent le HTML, XHTML et
compagnie, mais j'ai pas retenu les noms...

sinon :
http://java-source.net/open-source/html-parsers

ou encore une recherche sur http://freshmeat.net/
mais c'est plus bordelique pour le second !



J'ai déjà cherché un parser mais je n'ai pas trouvé (peut-être m'y suis-je
mal pris !) sinon pour les expressions régulières, j'ai pas trop l'habitude
de les utiliser. Avez vous des liens sur ce sujet (parser des liens ?


package regex ou un coup de google..

Merci d'avance
Guillaume