Faire des ressources de page de téléchargement wget sur un domaine différent

16

Comment utilisez-vous wget pour télécharger un site entier (domaine A) lorsque ses ressources se trouvent sur un autre domaine (domaine B)?
J'ai essayé:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA

Parsa
la source
Hou la la! Personne après tout ce temps?
Parsa
La raison pour laquelle la commande ne fonctionne pas est que l'utilisation --domainsseule ne s'active pas --span-hosts. L'ajout --span-hostsaurait résolu le problème. : |
Parsa

Réponses:

14
wget --recursive --level=inf --page-requisites --convert-links --html-extension \
     --span-hosts=domainA,domainB url-on-domainA

MISE À JOUR: Je me souviens que la commande ci-dessus a fonctionné pour moi dans le passé (c'était en 2010 et j'utilisais alors les outils GNU pour Windows ); cependant, j'ai dû le changer comme suit lorsque je voulais l'utiliser aujourd'hui:

wget --recursive --level=inf --page-requisites --convert-links \
     --adjust-extension --span-hosts --domains=domainA,domainB domainA

Le raccourci pour cela serait: wget -rEDpkH -l inf domainA,domainB domainA

  • -r = --recursive
  • -l <depth> = --level=<depth>
  • -E = --adjust-extension
  • -p = --page-requisites
  • -K = --backup-converted
  • -k = --convert-links
  • -D <domain-list> = --domain-list=<domain-list>
  • -H = --span-hosts
  • -np = --no-parent
  • -U <agent-string> = --user-agent=<agent-string>

Manuel GNU Wget: https://www.gnu.org/software/wget/manual/wget.html

Parsa
la source
J'obtiens: wget: --span-hosts: booléen non valide activé domainA,domainB'; use ou désactivé. Après avoir activé, cela ne fonctionne pas.
Matthew Flaschen
@MatthewFlaschen Ce que j'ai écrit ici a fonctionné pour moi. Pourriez-vous fournir les arguments que vous avez utilisés?
Parsa
Je n'ai pas la commande exacte que j'ai exécutée auparavant. Cependant, j'ai le même problème avec: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org j'utilise GNU Wget 1.13.4 sur Debian.
Matthew Flaschen
3
Essayez --span-hosts --domains=example.org,iana.org- je pense que --span-hostsdoit être un booléen, puis vous utilisez --domainspour spécifier les hôtes à couvrir.
Eric Mill
Konklone, --span-hosts est un booléen de 1.12 et plus tard, je ne le savais pas. @MatthewFlaschen, j'ai mis à jour la réponse. Soit dit en passant, cela fonctionnera toujours sur 1.11 et versions antérieures, si vous utilisez GNU Tools pour Windows.
Parsa
1

wget --recursive --level = inf - page-requisites --convert-links --html-extension -rH -DdomainA, domainB domainA

mnml
la source
Cela fonctionne en partie. Cependant, pour une raison quelconque, cela ne semble pas fonctionner si l'URL (à la fin) est une redirection. En outre, il télécharge également des liens, pas seulement les éléments requis pour la page. De plus, -r et --recursive sont identiques.
Matthew Flaschen
0
wget --page-requisites --convert-links --adjust-extension --span-hosts --domains domainA,domainB domainA

Vous devrez peut-être ignorer le fichier robots.txt (notez que cela peut être une violation de certaines conditions de service et que vous devez télécharger le minimum requis). Voir https://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion .

Matthew Flaschen
la source
-1

Pensez à utiliser HTTrack . Il a plus d'options lors de l'exploration de contenu sur d'autres domaines que wget. Utiliser wget avec --span-hosts, --domains et --accept lorsque cela ne suffisait pas à mes besoins mais HTTrack a fait le travail. Je me souviens que la définition d'une limite de redirection sur d'autres domaines a beaucoup aidé.

watbywbarif
la source