OVH Cloud OVH Cloud

Comment enregistrer la TOTALITE d'une page Web

5 réponses
Avatar
Wapah
Bonjour

j'utilise LWP:Simple pour enregistrer des pages HTML

Cependant la mise en page est imparfaite puisque les images et les feuilles
de style ne sont pas aspirées.

Existe t'il un module aussi simple sous Win32 qui permet de faire des copies
impeccables en local???

merci

5 réponses

Avatar
Stephane Chazelas
2003/11/17, 10:26(+01), Wapah:
[...]
j'utilise LWP:Simple pour enregistrer des pages HTML

Cependant la mise en page est imparfaite puisque les images et les feuilles
de style ne sont pas aspirées.

Existe t'il un module aussi simple sous Win32 qui permet de faire des copies
impeccables en local???


C'est quasi impossible, les fichiers "relatifs" à une page Web
sont déterminés souvent dynamiquement par le navigateur (après
parsing du HTML, interpretation du JavaScript).

S'il n'y a pas de JavaScript, tu peux t'en sortie avec perl en
parsant le HTML. Mais une fois les fichiers "downloadés", il
faudra aussi modifier la page HTML pour faire correspondre les
chemins aux chemins réels sur ton disque.

Si la page HTML contient
<base href="http://whatever/toto/">
<img src="foo.bar">

il faut que perl aille chercher http://whatever/toto/foo.bar,
qu'il le stocke chez toi, et mette à jour le
<img src="foo.bar"> en <img="file:...">

Tu as un HTML-Parser sur CPAN, ya sûrement aussi des trucs tout
faits qui existent.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]

Avatar
Wapah
merci Stephane!


S'il n'y a pas de JavaScript, tu peux t'en sortie avec perl en
parsant le HTML. Mais une fois les fichiers "downloadés", il
faudra aussi modifier la page HTML pour faire correspondre les
chemins aux chemins réels sur ton disque.


c'est la solution que je vais mettre en place.



Tu as un HTML-Parser sur CPAN, ya sûrement aussi des trucs tout
faits qui existent.


La quete continue... ;-)




--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]


Avatar
Jérémy JUST
On Tue, 18 Nov 2003 10:31:39 +0100
"Wapah" wrote:

Tu as un HTML-Parser sur CPAN, ya sûrement aussi des trucs tout
faits qui existent.
La quete continue... ;-)



Je me permets de donner une réponse qui n'a rien à voir avec Perl: le
programme GNU `wget' fait ça très bien. Il m'a remplacé avantageusement
200 lignes de code Perl.

Si tu veux vraiment le faire en pure-Perl, regarde du côté de la
combinaison:

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

--
Jérémy JUST


Avatar
Jean-Michel Grimaldi
On Tue, 18 Nov 2003 14:16:08 +0100, Jérémy JUST wrote:
Je me permets de donner une réponse qui n'a rien à voir avec Perl: le
programme GNU `wget' fait ça très bien. Il m'a remplacé avantageusement
200 lignes de code Perl.


Pour ma part j'utilise un script Perl qui s'appelle w3mir :
http://langfeldt.net/w3mir/

--
Jihem

Avatar
Wapah
merci pour vos reponses...je crois que je vais parser et substituer!



"Jean-Michel Grimaldi" a écrit dans le message de
news:
On Tue, 18 Nov 2003 14:16:08 +0100, Jérémy JUST wrote:
Je me permets de donner une réponse qui n'a rien à voir avec Perl: le
programme GNU `wget' fait ça très bien. Il m'a remplacé avantageusement
200 lignes de code Perl.


Pour ma part j'utilise un script Perl qui s'appelle w3mir :
http://langfeldt.net/w3mir/

--
Jihem