OVH Cloud OVH Cloud

comment récupérer le code d'une page web ?

10 réponses
Avatar
Antoun
bonjour,

je suis totalement ignare pour tout ce qui est processus réseau, et j'ai
beau RTFM, je ne trouve pas du tout comment demander à Perl d'ouvrir une
page web et de me renvoyer son code HTML.

Je précise que je suis sous Windows.

Merci d'avance à toutes les bonnes volontés !

Antoun

10 réponses

Avatar
Patrick Texier
Le Sun, 03 Jul 2005 07:30:14 +0200, Antoun a écrit :

je suis totalement ignare pour tout ce qui est processus réseau, et j'ai
beau RTFM, je ne trouve pas du tout comment demander à Perl d'ouvrir une
page web et de me renvoyer son code HTML.


Regardez le module LWP

Avatar
Jérémy JUST
On Sun, 03 Jul 2005 08:45:42 +0200
Patrick Texier wrote:

je suis totalement ignare pour tout ce qui est processus réseau, et
j'ai beau RTFM, je ne trouve pas du tout comment demander à Perl
d'ouvrir une page web et de me renvoyer son code HTML.


Regardez le module LWP


Plus précisément, la perldoc « lwpcook » (le cookbook de LWP) donne un
exemple de code complet et directement utilisable.

$ perldoc lwpcook
$ perldoc LWP::UserAgent

--
Jérémy JUST


Avatar
Jacques Caron
Salut,

On Sun, 03 Jul 2005 07:30:14 +0200, Antoun wrote:

je suis totalement ignare pour tout ce qui est processus réseau, et j'ai
beau RTFM, je ne trouve pas du tout comment demander à Perl d'ouvrir une
page web et de me renvoyer son code HTML.


Voir le module WWW::Curl::Easy.

Jacques.

Avatar
Alexandre Jaquet
bonjour,

je suis totalement ignare pour tout ce qui est processus réseau, et j'ai
beau RTFM, je ne trouve pas du tout comment demander à Perl d'ouvrir une
page web et de me renvoyer son code HTML.

Je précise que je suis sous Windows.

Merci d'avance à toutes les bonnes volontés !

Antoun


Créer une socket sur le port 80 et envoye une requete GET $page
HTTP/1.0nn:

#!/usr/bin/perl -w
# appel : navig.pl adresse-ip
#############################
use IO::Socket;
print "nom ou adresse IP du serveur WEB (par défaut créteil) : ";
$web = <>; chomp($web);
$web= "www.ac-creteil.fr" if $web eq "";
print "Document (par défaut ..) : ";
$doc = <>; chomp($doc);
$doc= "/util/programmation/perl/cours/tp-introduction.html" if $doc eq "";

$sock = IO::Socket::INET->new(
...........
..........,
...........
)
or die "connexion impossible au port 80 sur $web";
$sock -> autoflush(1);
# envoi, par socket, de la requete HTTP habituellement envoyée par le
navigateur
print $sock "GET $doc HTTP/1.0nn";
print "Voici le document $doc sur $webn";
while ( <$socket> ) {
print;
}

Avatar
Michel Rodriguez
Alexandre Jaquet > wrote:

bonjour,

je suis totalement ignare pour tout ce qui est processus réseau, et
j'ai beau RTFM, je ne trouve pas du tout comment demander à Perl
d'ouvrir une page web et de me renvoyer son code HTML.

Je précise que je suis sous Windows.

Merci d'avance à toutes les bonnes volontés !

Antoun



Créer une socket sur le port 80 et envoye une requete GET $page
HTTP/1.0nn:

#!/usr/bin/perl -w
# appel : navig.pl adresse-ip
#############################
use IO::Socket;
print "nom ou adresse IP du serveur WEB (par défaut créteil) : ";
$web = <>; chomp($web);
$web= "www.ac-creteil.fr" if $web eq "";
print "Document (par défaut ..) : ";
$doc = <>; chomp($doc);
$doc= "/util/programmation/perl/cours/tp-introduction.html" if $doc eq "";

$sock = IO::Socket::INET->new(
...........
..........,
...........
)
or die "connexion impossible au port 80 sur $web";
$sock -> autoflush(1);
# envoi, par socket, de la requete HTTP habituellement envoyée par le
navigateur
print $sock "GET $doc HTTP/1.0nn";
print "Voici le document $doc sur $webn";
while ( <$socket> ) {
print;
}


Euh... il y a peut etre plus simple:

use LWP::Simple;
$content = get("http://www.sn.no/");
die "Couldn't get it!" unless defined $content;

LWP devrait faire l'affaire, que ce soit LWP::Simple ou un des autres
modules qui va avec.

Si c'est pour faire du "screen-scraping" ou pour tester tes pages,
WWW::Mechanize est vraiment pratique.

--
mirod


Avatar
Alexandre Jaquet
Alexandre Jaquet > wrote:


bonjour,

je suis totalement ignare pour tout ce qui est processus réseau, et
j'ai beau RTFM, je ne trouve pas du tout comment demander à Perl
d'ouvrir une page web et de me renvoyer son code HTML.

Je précise que je suis sous Windows.

Merci d'avance à toutes les bonnes volontés !

Antoun




Créer une socket sur le port 80 et envoye une requete GET $page
HTTP/1.0nn:

#!/usr/bin/perl -w
# appel : navig.pl adresse-ip
#############################
use IO::Socket;
print "nom ou adresse IP du serveur WEB (par défaut créteil) : ";
$web = <>; chomp($web);
$web= "www.ac-creteil.fr" if $web eq "";
print "Document (par défaut ..) : ";
$doc = <>; chomp($doc);
$doc= "/util/programmation/perl/cours/tp-introduction.html" if $doc eq
"";

$sock = IO::Socket::INET->new(
...........
..........,
...........
)
or die "connexion impossible au port 80 sur $web";
$sock -> autoflush(1);
# envoi, par socket, de la requete HTTP habituellement envoyée par le
navigateur
print $sock "GET $doc HTTP/1.0nn";
print "Voici le document $doc sur $webn";
while ( <$socket> ) {
print;
}



Euh... il y a peut etre plus simple:

use LWP::Simple;
$content = get("http://www.sn.no/");
die "Couldn't get it!" unless defined $content;

LWP devrait faire l'affaire, que ce soit LWP::Simple ou un des autres
modules qui va avec.

Si c'est pour faire du "screen-scraping" ou pour tester tes pages,
WWW::Mechanize est vraiment pratique.



il précise "ignare pour tout ce qui est processus réseau" ca fait pas de
mal de regardé comment ca fonctionne



Avatar
Antoun
Bon, manifestement, "there's more than one way to do it" !

Merci à tous pour vos solutions, je sens que je vais non seulement
pouvoir faire ce que je peux mais en plus devenir un peu moins ignare en
réseaux !

Btw, qu'est-ce que le "screen-scraping" ?
Avatar
Michel Rodriguez
Antoun wrote:

Btw, qu'est-ce que le "screen-scraping" ?


C'est comme ca qu'on appelle les techniques pour extraire des infos
de pages webs automatiquement, en traitant le HTML.

Avatar
Antoun
Michel Rodriguez wrote:
Antoun wrote:

Btw, qu'est-ce que le "screen-scraping" ?



C'est comme ca qu'on appelle les techniques pour extraire des infos
de pages webs automatiquement, en traitant le HTML.


OK ! c'est effectivement ça que je veux faire...


Avatar
DoMinix
Antoun wrote:

Btw, qu'est-ce que le "screen-scraping" ?



C'est comme ca qu'on appelle les techniques pour extraire des infos
de pages webs automatiquement, en traitant le HTML.


Comment pourrais t'on le traduire ?
"farfouille ecran" ?

--
dominix