Die Verwendung von aria2 anstelle von curl unterbricht die Textsubstitution
Ich versuche, eine Website zu spiegeln, archive.org
aber die Verwendung curl
ist sehr langsam, daher wollte ich es lieber versuchen aria2
.
Ich erstelle mit diesem Befehl eine Link-Map der Site
wget -c -m --restrict-file-names=nocontrol https://www.example.com/
und dann diesen Befehl mit curl ausführen
find . -type f -exec curl -v "https://web.archive.org/save/https://{}" ';'
(Eigentlich habe ich diesen Befehl verwendet, um ein gutes Protokoll über meine Aktivitäten zu erhalten
find . -type f -exec curl -v "https://web.archive.org/save/https://{}" ';' 2> >(grep 'Rebuilt URL' >>/tmp/error ) >/tmp/stdout
- hier als Referenz beigefügt)
Dies funktionierte gut, der find-Befehl erzeugte eine Ausgabe wie
./www.example.com/index
und curl ignorierte die Führung magisch ./
Nun, Aria2 war nicht so schlau. Dieser Befehl
find . -type f -exec aria2c -x 16 -s 1 "https://web.archive.org/save/https://{}" ';'
zu diesem Fehler führen:
07/24 23:40:45 [ERROR] CUID#7 - Download aborted. URI=https://web.archive.org/save/https://./www.example.com/index
(Beachten Sie das Extra ./
in der Mitte der URL).
Ich fand dann diese Frage, die mir half, die Ausgabe von find zu ändern
find . -type f -printf '%P\n'
kehrt zurück
www.example.com/index
(keine Führung ./
)
Wenn Sie dies jedoch an aria2 übergeben, enthält die verkettete URL immer noch ./
in der Mitte!?!?
find . -type f -printf '%P\n' -exec aria2c -x 16 -s 1 "https://web.archive.org/save/https://{}" ';'
gibt diese Fehlermeldung aus
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
Wie entferne ich ./
aria2 so, dass korrekte und korrekte URLs verwendet werden?
Bonusfragen:
Es wäre schön, wenn ich die Seiten nach der Bearbeitung ihrer URL (erneut) verschieben könnte. Verschieben Sie den Index von
./www.example.com/index
nach./processed/www.example.com/index
. Wie mache ich das? Etwas in derexec
derfind
Befehl? Oder erfordert das ein vollwertiges Skript?Was sind die optimalen Einstellungen für aria2 für diesen Zweck?
0 Antworten auf die Frage
Verwandte Probleme
-
1
Pausieren Sie alle Aufgaben außer x CPU-intensiven Aufgaben
-
3
Mac OS X: herkömmliche Orte, an denen Binärdateien gespeichert werden sollen
-
10
Wie kann ich die Bash-Historie durchsuchen und einen Befehl erneut ausführen?
-
2
Kann die Ausgabe eines Befehls an zwei andere Befehle weitergeleitet werden?
-
8
Benennen Sie eine Gruppe von Dateien mit einem Befehl um
-
2
Warum aktualisiert sich mein Pfad nicht * jetzt *?
-
5
Wie entferne ich einen symbolischen Link zu einem Verzeichnis?
-
8
Rette mich vor dem Kauderwelsch
-
9
Wie kann ich jeder Zeile einer Textdatei eine Zeilennummer und einen Tabulator voranstellen?
-
1
Wann sollte ich Konfigurationen in .bashrc vs einfügen? .bash_profile?