Haga que wget descargue recursos de página en un dominio diferente

16

¿Cómo se usa wget para descargar un sitio completo (dominio A) cuando sus recursos están en otro dominio (dominio B)?
He intentado:
wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA

Parsa
fuente
¡Guauu! ¿Nadie después de todo este tiempo?
Parsa
La razón por la que el comando no funciona es porque el uso --domainspor sí solo no se activa --span-hosts. Agregar --span-hostshabría resuelto el problema. : |
Parsa

Respuestas:

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

ACTUALIZACIÓN: Recuerdo que el comando anterior funcionó para mí en el pasado (eso fue en 2010 y estaba usando GNU Tools para Windows en ese entonces); sin embargo, tuve que cambiarlo a lo siguiente cuando quería usarlo hoy:

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

La taquigrafía para eso sería: 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>

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

Parsa
fuente
Obtengo: wget: --span-hosts: booleano no válido domainA,domainB'; use activado o desactivado. Después de cambiar a encendido, no funciona.
Matthew Flaschen
@MatthewFlaschen Lo que he escrito aquí funcionó para mí. ¿Podría proporcionar los argumentos que ha utilizado?
Parsa
No tengo el comando exacto que ejecuté antes. Sin embargo, tengo el mismo problema con: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org estoy usando GNU Wget 1.13.4 en Debian.
Matthew Flaschen
3
Prueba --span-hosts --domains=example.org,iana.org: creo que --span-hostsdebe ser un booleano, y luego usas --domainspara especificar qué hosts abarcar.
Eric Mill
Konklone, --span-hosts es un booleano de 1.12 y posterior, no lo sabía. @MatthewFlaschen, actualicé la respuesta. Por cierto, eso seguirá funcionando en 1.11 y versiones anteriores, si está utilizando GNU Tools para Windows.
Parsa
1

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

mnml
fuente
Esto funciona en parte. Sin embargo, por alguna razón, no parece funcionar si la URL (al final) es una redirección. Además, también descarga enlaces, no solo los requisitos de la página. Además, -r y --recursive son lo mismo.
Matthew Flaschen
0
wget --page-requisites --convert-links --adjust-extension --span-hosts --domains domainA,domainB domainA

Es posible que deba ignorar el archivo robots.txt (tenga en cuenta que esto puede ser una violación de algunos términos del servicio y debe descargar el mínimo requerido). Consulte https://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion .

Matthew Flaschen
fuente
-1

Considere usar HTTrack . Tiene más opciones al rastrear contenido en otros dominios que wget. Usando wget con --span-hosts, --domains y --accept donde no es suficiente para mis necesidades, pero HTTrack hizo el trabajo. Recuerdo que establecer límites de redireccionamientos en otros dominios ayudó mucho.

watbywbarif
fuente