Я пытаюсь отразить сайт на archive.org но использование curl идет очень медленно, поэтому я хотел попробовать aria2 .

Я сначала делаю карту ссылок сайта с помощью этой команды

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

а затем выполните эту команду, используя curl

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

(На самом деле я использовал эту команду, чтобы получить достаточно хороший журнал того, что я делал

find . -type f -exec curl -v "https://web.archive.org/save/https://{}" ';' 2> >(grep 'Rebuilt URL' >>/tmp/error ) >/tmp/stdout - включены сюда для справки)

Это работало нормально, команда find выдала такой результат, как

./www.example.com/index

и завиток магически игнорировал ведущий ./

Ну, Aria2 не была такой умной. Эта команда

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

привести к этой ошибке:

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

(Обратите внимание на лишние ./ в середине URL).

Затем я нашел этот вопрос, который помог мне изменить вывод из поиска

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

возвращается

www.example.com/index

(нет ведущих ./)

Однако при передаче этого в aria2 объединенный URL все еще содержит ./ в середине!?!?

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

выдает это сообщение об ошибке

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

Как мне избавиться от ./ чтобы aria2 получала правильные и правильные URL?

Бонусные вопросы:

  1. Было бы здорово, если бы я мог (пере) переместить страницы после обработки их URL. То есть переместите индекс с ./www.example.com/index на ./processed/www.example.com/index . Как я могу это сделать? Что - то в exec команды find Или это требует полноценного сценария?

  2. Каковы оптимальные настройки для aria2 для этой цели?

0