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

Extraction multiple & exp reg

4 réponses
Avatar
Yoann (YoK)
Bonjour,

je recupére dans une variable $Result du contenu html.

Dans ce code html, il y a plusieurs tag <a href> vers des pages
différents avec le meme nom pour le lien (ici link).

Je voudrais récupérer toutes les URL sous forme de tableau.
Avec un enregistreemnt je m'en sort tres bien , mais avec plusieurs je
galere ....

Pour etre plus claire :

si $Result = ....<a href="bidon.tld">connerie</a>......<a
href="http://domain1.tld1/page1.html" target="_blank">link</a>......<a
href="http://domain2.tld2/page2.html" target="_blank">link</a>......

je voudrais récupérer dans un tableau
http://domain1.tld1/page1.html
http://domain2.tld2/page2.html

Une boucle, une exp reg qui rempli un array ... j'suis pommer là :)

Merci par avance de votre aide

--
Yoann

4 réponses

Avatar
Patrick Mevzek

je recupére dans une variable $Result du contenu html.

Dans ce code html, il y a plusieurs tag <a href> vers des pages
différents avec le meme nom pour le lien (ici link).

Je voudrais récupérer toutes les URL sous forme de tableau. Avec un


HTML::LinkExtractor, par exemple.
(on ne peut pas parser correctement et complétement du HTML avec juste
des expressions régulières/rationnelles).

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>

Avatar
DominiX
'lut

ici même:,
Patrick Mevzek a écrit

je recupére dans une variable $Result du contenu html.

Dans ce code html, il y a plusieurs tag <a href> vers des pages
différents avec le meme nom pour le lien (ici link).

Je voudrais récupérer toutes les URL sous forme de tableau. Avec un


HTML::LinkExtractor, par exemple.
(on ne peut pas parser correctement et complétement du HTML avec juste
des expressions régulières/rationnelles).


ou bien HTML::TokeParser::Simple;

#!/usr/bin/perl -w
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new( shift );

while ( my $token = $p->get_token ) {
print $token->return_attr->{"href"}
if $token->is_start_tag( 'a' );
}

-- dominix


Avatar
Paul Gaborit
À (at) Tue, 24 Aug 2004 19:36:10 -1000,
"DominiX" écrivait (wrote):
ou bien HTML::TokeParser::Simple;

#!/usr/bin/perl -w
use HTML::TokeParser::Simple;
my $p = HTML::TokeParser::Simple->new( shift );

while ( my $token = $p->get_token ) {
print $token->return_attr->{"href"}
if $token->is_start_tag( 'a' );
}


Un élément (ou tag) 'a' n'a pas toujours d'attribut 'href'.

--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>

Avatar
Patrick Mevzek

HTML::LinkExtractor, par exemple.
(on ne peut pas parser correctement et complétement du HTML avec juste
des expressions régulières/rationnelles).


ou bien HTML::TokeParser::Simple;


Bien entendu... puisque HTML::LinkExtractor est une surcouche de
HTML::TokeParser::Simple !

Donc, oui, on peut refaire tout ce que fait HTML::LinkExtractor à partir
de HTML::TokeParser::Simple :-)

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>