Baixe um site inteiro do Internet Archive Wayback Machine.
Você precisa instalar Ruby em seu sistema (>= 1.9.2) - se ainda não o tiver feito. Então execute:
gem install wayback_machine_downloader
Dica: Se você encontrar erros de permissão, talvez seja necessário adicionar sudo
na frente deste comando.
Execute wayback_machine_downloader com o URL base do site que você deseja recuperar como parâmetro (por exemplo, http://example.com):
wayback_machine_downloader http://example.com
Ele fará o download da última versão de cada arquivo presente no Wayback Machine para ./websites/example.com/
. Ele também recriará uma estrutura de diretórios e criará automaticamente páginas index.html
para funcionar perfeitamente com Apache e Nginx. Todos os arquivos baixados são os originais e não as versões reescritas do Wayback Machine. Dessa forma, as URLs e a estrutura dos links são as mesmas de antes.
Usage: wayback_machine_downloader http://example.com
Download an entire website from the Wayback Machine.
Optional options:
-d, --directory PATH Directory to save the downloaded files into
Default is ./websites/ plus the domain name
-s, --all-timestamps Download all snapshots/timestamps for a given website
-f, --from TIMESTAMP Only files on or after timestamp supplied (ie. 20060716231334)
-t, --to TIMESTAMP Only files on or before timestamp supplied (ie. 20100916231334)
-e, --exact-url Download only the url provided and not the full site
-o, --only ONLY_FILTER Restrict downloading to urls that match this filter
(use // notation for the filter to be treated as a regex)
-x, --exclude EXCLUDE_FILTER Skip downloading of urls that match this filter
(use // notation for the filter to be treated as a regex)
-a, --all Expand downloading to error files (40x and 50x) and redirections (30x)
-c, --concurrency NUMBER Number of multiple files to download at a time
Default is one file at a time (ie. 20)
-p, --maximum-snapshot NUMBER Maximum snapshot pages to consider (Default is 100)
Count an average of 150,000 snapshots per page
-l, --list Only list file urls in a JSON format with the archived timestamps, won't download anything
-d, --directory PATH
Opcional. Por padrão, o Wayback Machine Downloader baixará arquivos para ./websites/
seguido do nome de domínio do site. Você pode querer salvar arquivos em um diretório específico usando esta opção.
Exemplo:
wayback_machine_downloader http://example.com --directory downloaded-backup/
-s, --all-timestamps
Opcional. Esta opção baixará todos os carimbos de data/hora/instantâneos de um determinado site. Ele usará o carimbo de data/hora de cada instantâneo como diretório.
Exemplo:
wayback_machine_downloader http://example.com --all-timestamps
Will download:
websites/example.com/20060715085250/index.html
websites/example.com/20051120005053/index.html
websites/example.com/20060111095815/img/logo.png
...
-f, --from TIMESTAMP
Opcional. Você pode fornecer um carimbo de data/hora from para bloquear seu backup em uma versão específica do site. Os carimbos de data e hora podem ser encontrados nos URLs do site regular da Wayback Machine (por exemplo, https://web.archive.org/web/20060716231334/http://example.com). Você também pode usar anos (2006), anos + mês (200607), etc. Pode ser usado em combinação com To Timestamp. O Wayback Machine Downloader irá então buscar apenas versões de arquivos no carimbo de data/hora especificado ou após ele.
Exemplo:
wayback_machine_downloader http://example.com --from 20060716231334
-t, --to TIMESTAMP
Opcional. Você pode fornecer um carimbo de data/hora para bloquear seu backup em uma versão específica do site. Os carimbos de data e hora podem ser encontrados nos URLs do site regular da Wayback Machine (por exemplo, https://web.archive.org/web/20100916231334/http://example.com). Você também pode usar anos (2010), anos + mês (201009), etc. Pode ser usado em combinação com From Timestamp. O Wayback Machine Downloader irá então buscar apenas versões de arquivos iguais ou anteriores ao carimbo de data / hora especificado.
Exemplo:
wayback_machine_downloader http://example.com --to 20100916231334
-e, --exact-url
Opcional. Se quiser recuperar apenas o arquivo que corresponde exatamente ao URL fornecido, você pode usar este sinalizador. Isso evitará baixar qualquer outra coisa.
Por exemplo, se você deseja baixar apenas o arquivo html da página inicial de example.com:
wayback_machine_downloader http://example.com --exact-url
-o, --only ONLY_FILTER
Opcional. Você pode querer recuperar arquivos de um determinado tipo (por exemplo, .pdf, .jpg, .wrd...) ou que estejam em um diretório específico. Para fazer isso, você pode fornecer o sinalizador --only
com uma string ou um regex (usando a notação '/regex/') para limitar quais arquivos o Wayback Machine Downloader irá baixar.
Por exemplo, se você deseja apenas baixar arquivos dentro de um my_directory
específico:
wayback_machine_downloader http://example.com --only my_directory
Ou se você quiser baixar todas as imagens sem mais nada:
wayback_machine_downloader http://example.com --only "/.(gif|jpg|jpeg)$/i"
-x, --exclude EXCLUDE_FILTER
Opcional. Você pode querer recuperar arquivos que não sejam de um determinado tipo (por exemplo, .pdf, .jpg, .wrd...) ou que não estejam em um diretório específico. Para fazer isso, você pode fornecer o sinalizador --exclude
com uma string ou um regex (usando a notação '/regex/') para limitar quais arquivos o Wayback Machine Downloader irá baixar.
Por exemplo, se você quiser evitar o download de arquivos dentro de my_directory
:
wayback_machine_downloader http://example.com --exclude my_directory
Ou se quiser baixar tudo, exceto imagens:
wayback_machine_downloader http://example.com --exclude "/.(gif|jpg|jpeg)$/i"
-a, --all
Opcional. Por padrão, o Wayback Machine Downloader limita-se a arquivos que responderam com o código 200 OK. Se você também precisar de arquivos de erros (códigos 40x e 50x) ou arquivos de redirecionamentos (códigos 30x), você pode usar o sinalizador --all
ou -a
e o Wayback Machine Downloader irá baixá-los além dos 200 arquivos OK. Ele também manterá os arquivos vazios que são removidos por padrão.
Exemplo:
wayback_machine_downloader http://example.com --all
-l, --list
Ele apenas exibirá os arquivos a serem baixados com seus carimbos de data/hora e URLs. O formato de saída é JSON. Não irá baixar nada. É útil para depuração ou para conectar-se a outro aplicativo.
Exemplo:
wayback_machine_downloader http://example.com --list
-p, --snapshot-pages NUMBER
Opcional. Especifique o número máximo de páginas de snapshot a serem consideradas. Conte uma média de 150.000 instantâneos por página. 100 é o número máximo padrão de páginas de instantâneo e deve ser suficiente para a maioria dos sites. Use um número maior se quiser baixar um site muito grande.
Exemplo:
wayback_machine_downloader http://example.com --snapshot-pages 300
-c, --concurrency NUMBER
Opcional. Especifique o número de vários arquivos que deseja baixar ao mesmo tempo. Permite acelerar significativamente o download de um site. O padrão é baixar um arquivo por vez.
Exemplo:
wayback_machine_downloader http://example.com --concurrency 20
Como forma alternativa de instalação, temos uma imagem Docker! Recupere a imagem do Docker wayback-machine-downloader desta forma:
docker pull hartator/wayback-machine-downloader
Então, você poderá usar a imagem Docker para baixar sites. Por exemplo:
docker run --rm -it -v $PWD/websites:/websites hartator/wayback-machine-downloader http://example.com
Contribuições são bem-vindas! Basta enviar uma solicitação pull via GitHub.
Para executar os testes:
bundle install
bundle exec rake test