Использование aria2 вместо curl прерывает подстановку текста

351
hensti

Я пытаюсь зеркалировать сайт, 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

0 ответов на вопрос