[perl] parsing html
wassim
-
wass Messages postés 10 Statut Membre -
wass Messages postés 10 Statut Membre -
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!
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!
4 réponses
-
Salut,
regarde sur CPAN le module HTML::PARSER
https://metacpan.org/pod/release/GAAS/HTML-Parser-3.55/Parser.pm
lami20j-
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! -
-
-
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 -
euh... si tu veux j'en fais en Python.
https://sebsauvage.net/python/snyppets/index.html#google_search
https://sebsauvage.net/python/programs.html#ultima_s
https://sebsauvage.net/python/programs.html#myradioplayer
etc. -
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 )