[perl] parsing html

wassim -  
wass Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je voudrais récupérer des données affichées sur une pages web à partir d'une base de donnée en faisant du parsing html à l'aide de perl.
Quelqu'un peut m'aider s'il vous plaît?
Merci d'avance!
A voir également:

4 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

regarde sur CPAN le module HTML::PARSER

https://metacpan.org/pod/release/GAAS/HTML-Parser-3.55/Parser.pm

lami20j
0
wass Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Tout d'abord,merci pour ton aide,
mais je t'avoue que je ne suis pas un spécialiste en perl et que je n'ai presque rien compris à ce lien, surtout que c'est en anglais!
et en plus c une adresse html que je veux donner a perl pourqu'il me ressorte ce que je veux recuperer.
J'ai utilisé ce code la pr recuperer les liens des dites web qui sont dans la page:

use LWP::UserAgent;
use HTML::LinkExtor;
use URI::URL;

$url = " http://tibrvrdtigdfidev1:7580/routers/"; # for instance
$ua = LWP::UserAgent->new;

# Set up a callback that collect image links
my @sites = ();
sub callback {
my($tag, %links) = @_;
return if $tag ne 'a'; # we only look closer at <img ...>
push(@sites, values %links);
}

# Make the parser. Unfortunately, we don't know the base yet
# (it might be diffent from $url)
$p = HTML::LinkExtor->new(\&callback);

# Request document and parse it as it arrives
$res = $ua->request(HTTP::Request->new(GET => $url),
sub {$p->parse($_[0])});

# Expand all image URLs to absolute ones
my $base = $res->base;
@sites = map { $_ = url($_, $base)->abs; } @sites;

# Print them out
print join ("\n", @sites), "\n";





Mais les données qui viennent de la base contiennent aussi des balises <a href> donc je ne vois pas prquoi elles ne sont pas affichées comme les autres liens,

J'espère que j'ai été assez clair :)
et que tu pourras m'aider!
0
wass Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
C'est peut etre parceque la page que je veux parser est protegee par nu mot de passe!
alors quesquil faut mettre en plus dans la fonction pr entrer un login et mot de passe automatikmnt?
Merci
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

je suis au boulot donc je ne peux pas tester. Je vais regarder ce soir.

En revanche j'ai besoin de savoir ce que tu veux récuperer avec un peu plus de précision. Merci.

lami20j
0
wass Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
re,
en fait, c'est une page qui affiche une liste de noms de routeurs (en mettant un lien pour chaque routeur pour pouvoir voir ses infos et les autres routeurs connectes a celui la)
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 663
 
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

euh... si tu veux j'en fais en Python.

Je suis d'accord avec toi ;) Ca m'evitera de travailler ce soir :-)

lami20j
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 663 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
:-)

Non non, je ne fais que proposer, je n'impose rien.
0
wass Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
euh.. je vais essayer de leur proposer ac au boulot mais je sais pas s'il accepterons :)
je te tiens au courant!
merci
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention  
 
Qui parle d'imposer quelquechose?: ;)

D'ailleurs je pense que tu sais dans quel esprit je parle :-)

lami20j
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention  
 
dans quel esprit je parle

Oups, j'ai fait une erreur ;)

Je voulais dire dans quel esprit je perle :-)

lami20j
0
sebsauvage Messages postés 32893 Date d'inscription   Statut Modérateur Dernière intervention   15 663
 
il me faut une cmmnde pr me logger automatiquemnt ds la page

Un exemple en Python (à adapter à ton site):
https://sebsauvage.net/python/snyppets/#session_cookies


J'ai testé ça avec succès sur certains site
(par exemple dans mon programme myRadioPlayer:
https://sebsauvage.net/python/programs.html#myradioplayer )
0