Como você instrui o wget a rastrear recursivamente um site e fazer o download apenas de certos tipos de imagens?
Tentei usar isso para rastrear um site e baixar apenas imagens JPEG:
wget --no-parent --wait=10 --limit-rate=100K --recursive --accept=jpg,jpeg --no-directories http://somedomain/images/page1.html
No entanto, embora o page1.html contenha centenas de links para subpáginas, que possuem links diretos para imagens, o wget relata coisas como "Removendo a subpage13.html, pois ela deve ser rejeitada" e nunca baixa imagens, pois nenhuma está diretamente vinculada a a partir da página inicial.
Suponho que isso ocorre porque meu --accept está sendo usado para direcionar o rastreamento e o filtro de conteúdo para download, enquanto eu quero que ele seja usado apenas para direcionar o download de conteúdo. Como posso fazer o wget rastrear todos os links, mas baixar apenas arquivos com certas extensões como * .jpeg?
EDIT: Além disso, algumas páginas são dinâmicas e são geradas por um script CGI (por exemplo, img.cgi? Fo9s0f989wefw90e). Mesmo se eu adicionar cgi à minha lista de aceitação (por exemplo, --accept = jpg, jpeg, html, cgi), eles ainda serão sempre rejeitados. Existe uma maneira de contornar isso?
Como você espera que o wget conheça o conteúdo da subpágina13.html (e também os jpgs aos quais ele se vincula) se não for permitido fazer o download. Sugiro que você permita html, obtenha o que deseja e remova o que não deseja.
Não sei bem por que seus cgi estão sendo rejeitados ... existe algum erro no wget? Talvez faça wget verbose (
-v
) e veja. Pode ser melhor como uma pergunta separada.Dito isto, se você não se importa com largura de banda e faz o download de lotes, remova o que não deseja depois, não importa.
Também confira
--html-extension
Na página do manual:
--restrict-file-names=unix
também pode ser útil devido a esses URLs cgi ...fonte
--no-parent
mas vou parar por aí.Você também pode usar o MetaProducts Offline Explorer sem programar
fonte
Tente adicionar a
--page-requisites
opçãofonte