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
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. : |
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:
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.
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.
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.
--domains
por sí solo no se activa--span-hosts
. Agregar--span-hosts
habría resuelto el problema. : |Respuestas:
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:
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>
fuente
domainA,domainB'; use
activado o desactivado. Después de cambiar a encendido, no funciona.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.--span-hosts --domains=example.org,iana.org
: creo que--span-hosts
debe ser un booleano, y luego usas--domains
para especificar qué hosts abarcar.wget --recursive --level = inf --page-requisitos --convert-links --html-extension -rH -DdomainA, domainB domainA
fuente
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 .
fuente
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.
fuente