Tornar os recursos da página de download do wget em um domínio diferente
16
Como você usa o wget para baixar um site inteiro (domínio A) quando seus recursos estão em outro domínio (domínio B)?
Eu tentei: wget -r --level=inf -p -k -E --domains=domainA,domainB http://www.domainA
A razão pela qual o comando não funciona é porque o uso --domainspor si só não é ativado --span-hosts. Adicionar --span-hoststeria resolvido o problema. : |
ATUALIZAÇÃO: Lembro que o comando acima funcionou para mim no passado (em 2010 e eu estava usando o GNU Tools for Windows naquela época); no entanto, tive que alterá-lo para o seguinte quando queria usá-lo hoje:
Eu recebo: wget: --span-hosts: Booleano inválido ativado domainA,domainB'; use 'ou' desativado '. Depois de mudar para ativado, ele não funciona.
Matthew Flaschen
@ MatthewFlaschen O que eu escrevi aqui funcionou para mim. Você poderia fornecer os argumentos que usou?
Parsa 26/02
Eu não tenho o comando exato que executei antes. No entanto, tenho o mesmo problema com: wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org Estou usando o GNU Wget 1.13.4 no Debian.
Matthew Flaschen 28/02
3
Tente --span-hosts --domains=example.org,iana.org- acho que --span-hostsprecisa ser um booleano e, em seguida, você usa --domainspara especificar quais hosts abranger.
Eric moinho
Konklone, --span-hosts é um booleano da 1.12 e depois, eu não sabia disso. @MatthewFlaschen, atualizei a resposta. A propósito, isso ainda funcionará na versão 1.11 e anterior, se você estiver usando o GNU Tools for Windows.
Parsa
1
wget --recursive --level = inf - requisitos de página - links de conversão --html-extension -rH -DdomínioA, domínioB domínioA
Isso funciona parcialmente. No entanto, por algum motivo, parece não funcionar se o URL (no final) for um redirecionamento. Além disso, ele baixa links também, não apenas os requisitos da página. Além disso, -r e --recursive são os mesmos.
Considere usar o HTTrack . Ele tem mais opções ao rastrear conteúdo em outros domínios que o wget. O uso do wget com --span-hosts, --domains e --accept foi insuficiente para minhas necessidades, mas o HTTrack fez o trabalho. Lembro que definir limites de redirecionamentos em outros domínios ajudou muito.
--domains
por si só não é ativado--span-hosts
. Adicionar--span-hosts
teria resolvido o problema. : |Respostas:
ATUALIZAÇÃO: Lembro que o comando acima funcionou para mim no passado (em 2010 e eu estava usando o GNU Tools for Windows naquela época); no entanto, tive que alterá-lo para o seguinte quando queria usá-lo hoje:
A abreviação para isso seria:
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>
fonte
domainA,domainB'; use
'ou' desativado '. Depois de mudar para ativado, ele não funciona.wget --recursive --level=inf --page-requisites --convert-links --html-extension --span-hosts=example.org,iana.org example.org
Estou usando o GNU Wget 1.13.4 no Debian.--span-hosts --domains=example.org,iana.org
- acho que--span-hosts
precisa ser um booleano e, em seguida, você usa--domains
para especificar quais hosts abranger.wget --recursive --level = inf - requisitos de página - links de conversão --html-extension -rH -DdomínioA, domínioB domínioA
fonte
Pode ser necessário ignorar o robots.txt (observe, isso pode ser uma violação de alguns termos de serviço e você deve fazer o download do mínimo necessário). Consulte https://www.gnu.org/software/wget/manual/wget.html#Robot-Exclusion .
fonte
Considere usar o HTTrack . Ele tem mais opções ao rastrear conteúdo em outros domínios que o wget. O uso do wget com --span-hosts, --domains e --accept foi insuficiente para minhas necessidades, mas o HTTrack fez o trabalho. Lembro que definir limites de redirecionamentos em outros domínios ajudou muito.
fonte