aspiration/conversion d'un site php avec wget
Le
pehache

Bonjour,
Je veux récupérer avec wget un vieux forum phpBB actuellement en ligne
chez OVH, pour en faire une version statique (consultable en ligne et en
local).
J'avais par le passé utilisé ce type de commande qui il me semble
fonctionnait bien :
wget --mirror --tries --adjust-extension –-convert-links -R
"*sid=*","ucp*","viewtopic.php*p=*","*=print*","posting.php*","*hilit=*"
--keep-session-cookies --load-cookies=COOKIEFILE http://monforum.fr/
Quand wget récupère une page qui contient un lien de type
"viewforum.php?f", il récupère la page liée et la sauvegarde sous
"viewforum.php?f.html" comme prévu (du fait de --adjust-extension).
Et il me semble qu'il devrait modifier le lien en accord dans la page
initiale (c'est le rÍ´le de --convert-links en principe), mais il ne le
fait pas. Le lien reste "viewforum.php?f" et non pas
"viewforum.php?f.html", donc en gros tous les liens sont cassés.
Je rate un truc ?
Je veux récupérer avec wget un vieux forum phpBB actuellement en ligne
chez OVH, pour en faire une version statique (consultable en ligne et en
local).
J'avais par le passé utilisé ce type de commande qui il me semble
fonctionnait bien :
wget --mirror --tries --adjust-extension –-convert-links -R
"*sid=*","ucp*","viewtopic.php*p=*","*=print*","posting.php*","*hilit=*"
--keep-session-cookies --load-cookies=COOKIEFILE http://monforum.fr/
Quand wget récupère une page qui contient un lien de type
"viewforum.php?f", il récupère la page liée et la sauvegarde sous
"viewforum.php?f.html" comme prévu (du fait de --adjust-extension).
Et il me semble qu'il devrait modifier le lien en accord dans la page
initiale (c'est le rÍ´le de --convert-links en principe), mais il ne le
fait pas. Le lien reste "viewforum.php?f" et non pas
"viewforum.php?f.html", donc en gros tous les liens sont cassés.
Je rate un truc ?
pehache a tapoté le 29/01/2021 00:24:
J'essaierais d'abord httrack, dans le passé ça fonctionnait bien.
--
Stéphane
Je l'ai fait avec wget par le passé et ça marchait bien aussi. Je ne
comprends pas pourquoi ça ne fonctionne pas ce coup-ci et je voudrais
bien comprendre...
passage de http vers https ?
erreur dans la syntaxe ? => essayer avec une seule page
peut-être les "?" qui ne peuvent pas être des noms de fichier
Sans avoir rien essayé...
Denis
wget aspire bien tout le site, c'est juste qu'il ne met pas Í jour les
liens dans les pages récupérées pour refléter les changements des noms
de fichiers (ajout de l'extension .html)...
Les "?" dans les noms ne posent pas de problème (ni en local, ni sur le
serveur quand je ré-uploade le site converti. Ils en posent dans
d'autres cas, mais j'ouvrirai un autre sujet pour ça).
J'ai progressé : en ajoutant l'option --backup-converted les liens sont
bien convertis. A mon avis il y a un bug dans la version de wget que
j'utilise (*) car cette option normalement permet juste de conserver une
copie des fichiers avant la conversion des liens, en les renommant
"*.orig". Mais de fait lÍ elle déclenche aussi cette conversion (alors
que --convert-links devrait suffire). Ca se voit d'ailleurs avec les
messages de types
"Conversion des liens de monsite.fr/viewforum.php?f.html… 89."
qui s'affichent Í la fin de l'aspiration, et qui ne s'affiche pas si
l'option n'est pas ajoutée.
(*) version pour macOS par MacPorts
# wget --version
GNU Wget 1.21.1 compilé sur darwin17.7.0.
Bon, je n'ai rien dit, et je n'y comprends plus rien...
En fait c'est retombé en marche sans que ça ait rien Í voir avec
l'option --backup-converted , maintenant les liens sont bien convertis
comme ils doivent l'être.
Et je ne comprends pas car entre hier o͹ ça ne marchait pas et
maintenant o͹ ça marche, je n'ai rien changé dans la commande lancée,
qui est un simple copié-collé de la commande que j'avais notée dans un
coin... J'ai probablement fait une fausse manipe quelque part mais je ne
vois pas o͹.
Désolé pour le dérangement !
Breaking news !
J'ai trouvé la (ma) cagade.
Quand je fais un copié-collé de la commande (que j'avais consignée dans
un doc LibreOffice) ça ne marche toujours pas en fait.
Si une fois la commande collée j'efface l'option "--convert-links" et
que je la réécris Í la main, ça marche !
Et c'est reproductible...
Il doit y avoir une histoire d'encodage de caractères qui rentre en
compte et qui empêche wget d'interpréter correctement certaines options
? Et dans mes tests Í un moment j'ai dÍ» réécrire partiellement la
commande et je n'étais plus en simple mode copier-coller.
C'est certainement ça. Un tiret inhabituel, peut-être. Tu copie-colles
depuis o͹ ?
Normalement sous LibreOffice (et Word...), il remplace les "--" par des "—" (tiret long, Unicode U+2014).
--
Serge http://cahierdesergio.free.fr/
Soutenez le libre: http://www.framasoft.org
Depuis LibreOffice
(les double-tirets n'ont pas été remplacés par un tiret long, pour
répondre Í Sergio)