[perl] parsing html

Fermé
wassim - 4 sept. 2006 à 15:46
wass Messages postés 10 Date d'inscription lundi 4 septembre 2006 Statut Membre Dernière intervention 23 mai 2007 - 5 sept. 2006 à 10:51
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 sept. 2006 à 16:01
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 lundi 4 septembre 2006 Statut Membre Dernière intervention 23 mai 2007
4 sept. 2006 à 16:33
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 lundi 4 septembre 2006 Statut Membre Dernière intervention 23 mai 2007
4 sept. 2006 à 16:46
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 sept. 2006 à 16:46
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 lundi 4 septembre 2006 Statut Membre Dernière intervention 23 mai 2007
4 sept. 2006 à 16:50
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
4 sept. 2006 à 16:47
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
4 sept. 2006 à 16:49
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
4 sept. 2006 à 16:52
:-)

Non non, je ne fais que proposer, je n'impose rien.
0
wass Messages postés 10 Date d'inscription lundi 4 septembre 2006 Statut Membre Dernière intervention 23 mai 2007 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
4 sept. 2006 à 16:54
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019
4 sept. 2006 à 17:07
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569 > lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019
4 sept. 2006 à 19:35
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 mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 659
5 sept. 2006 à 10:38
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