Я пытаюсь отразить сайт на 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?
Бонусные вопросы:
Было бы здорово, если бы я мог (пере) переместить страницы после обработки их URL. То есть переместите индекс с
./www.example.com/index
на./processed/www.example.com/index
. Как я могу это сделать? Что - то вexec
командыfind
Или это требует полноценного сценария?Каковы оптимальные настройки для aria2 для этой цели?