Usando aria2 ao invés de curl-break

0

Estou tentando espelhar um site para archive.org , mas usar curl é muito lento. Por isso, tentei usar aria2 .

Primeiro, faço um mapa de links do site usando este comando

wget -c -m --restrict-file-names=nocontrol https://www.example.com/

e, em seguida, execute este comando usando o curl

find . -type f -exec curl -v "https://web.archive.org/save/https://{}" ';'

(Na verdade, usei este comando para obter um log suficientemente bom do que estava fazendo

find . -type f -exec curl -v "https://web.archive.org/save/https://{}" ';' 2> >(grep 'Rebuilt URL' >>/tmp/error ) >/tmp/stdout - incluiu aqui para referência)

Isso estava funcionando bem, a saída produzida pelo comando find como

./www.example.com/index

e enrolar magicamente ignoraram o primeiro ./

Bem, Aria2 não era tão inteligente. Este comando

find . -type f -exec aria2c -x 16 -s 1 "https://web.archive.org/save/https://{}" ';'

leva a esse erro:

07/24 23:40:45 [ERROR] CUID#7 - Download aborted. URI=https://web.archive.org/save/https://./www.example.com/index

(Observe o ./ extra no meio da URL).

Encontrei então esta questão que me ajudou a modificar a saída de encontrar

find . -type f -printf '%P\n'

retorna

www.example.com/index

(sem liderança ./ )

No entanto, ao alimentar isso para aria2, o URL concatenado ainda contém ./ no meio!?!?

find . -type f -printf '%P\n' -exec aria2c -x 16 -s 1 "https://web.archive.org/save/https://{}" ';'

fornece esta mensagem de erro

www.example.com/index

07/24 23:52:34 [NOTICE] Downloading 1 item(s)
[#d44753 0B/0B CN:1 DL:0B]                                                                                     
07/24 23:52:35 [ERROR] CUID#7 - Download aborted. URI=https://web.archive.org/save/https://./www.example.com/index
Exception: [AbstractCommand.cc:351] errorCode=29 URI=https://web.archive.org/save/https://./www.example.com/index
  -> [HttpSkipResponseCommand.cc:232] errorCode=29 The response status is not successful. status=502

07/24 23:52:35 [NOTICE] Download GID#d44753fe24ebf448 not complete: 

Download Results:
gid   |stat|avg speed  |path/URI
======+====+===========+=======================================================
d44753|ERR |       0B/s|https://web.archive.org/save/https://./www.example.com/index

Como faço para me livrar do ./ , então aria2 é alimentada com URLs corretos e adequados?

Perguntas adicionais:

  1. Seria ótimo se eu pudesse (re) mover as páginas depois de processar seu URL. Ou seja, mova o índice de ./www.example.com/index para ./processed/www.example.com/index . Como faço isso? Algo no comando exec do comando find ? Ou isso requer um roteiro completo?

  2. Quais são as configurações ótimas para aria2 para este propósito?

por hensti 24.07.2018 / 23:58

0 respostas