
Entferne Unordnung aus einer Liste von URLs
Dies ist ein Tool zum Bereinigen einer Liste von URLs. Als Ausgangspunkt habe ich das erstaunliche Tool uro von Somdev Sangwan genommen. Aber ich wollte ein paar Dinge ändern, einige Verbesserungen vornehmen (wie den Umgang mit GUIDs) und es anpassbarer machen.
urless unterstützt Python 3.
Installiere urless in der Standard-Python-Umgebung (global).
pip install urless
ODER
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
Du kannst mit folgendem Befehl aktualisieren:
pip install --upgrade urless
Schnelle Einrichtung in einer isolierten Python-Umgebung mit pipx
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| Argument | Langes Argument | Beschreibung |
|---|---|---|
| -i | --input | Eine Datei mit URLs, die bereinigt werden sollen. |
| -o | --output | Die Ausgabedatei, die die bereinigte Liste von URLs enthält (Standard: output.txt). Wenn an ein anderes Programm weitergeleitet wird, wird die Ausgabe stattdessen nach STDOUT geschrieben. |
| -fk | --filter-keywords | Eine durch Kommas getrennte Liste von Schlüsselwörtern zum Ausschließen von Links (wenn es keine Parameter gibt). Dies überschreibt die in config.yml angegebene Liste FILTER_KEYWORDS. |
| -fe | --filter-extensions | Eine durch Kommas getrennte Liste von Dateierweiterungen, die ausgeschlossen werden sollen. Dies überschreibt die in config.yml angegebene Liste FILTER_EXTENSIONS. |
| -rp | --remove-params | Eine durch Kommas getrennte Liste von groß-/kleinschreibungsempfindlichen Parametern, die aus ALLEN URLs entfernt werden sollen. Dies überschreibt die in config.yml angegebene Liste REMOVE_PARAMS. Dies kann zum Beispiel nützlich sein, um Cache-Buster-Parameter zu entfernen.** |
| -ks | --keep-slash | Ein abschließender Schrägstrich am Ende einer URL in der Eingabe wird nicht entfernt. Daher können identische URLs ausgegeben werden, eine mit und eine ohne abschließenden Schrägstrich. |
| -khw | --keep-human-written | Standardmäßig wird jede URL mit einem Pfadteil entfernt, der mehr als 3 Bindestriche (-) enthält, da angenommen wird, dass es sich um von Menschen geschriebenen Inhalt handelt (z. B. Blogbeitrag), der nicht interessant ist. Durch die Übergabe dieses Arguments bleiben sie in der Ausgabe erhalten. |
| -kym | --keep-yyyymm | Standardmäßig wird jede URL mit einem Pfad entfernt, der /YYYY/MM enthält (wobei YYYY ein Jahr und MM einen Monat darstellt), da angenommen wird, dass es sich um Blog-/Nachrichteninhalte handelt, die nicht interessant sind. Durch die Übergabe dieses Arguments bleiben sie in der Ausgabe erhalten. |
| -rcid | --regex-custom-id | MIT VORSICHT VERWENDEN! Regex für eine benutzerdefinierte ID (Custom ID), die dein Ziel verwendet. Stelle sicher, dass der Wert in Anführungszeichen übergeben wird. Weitere Details dazu findest du im Abschnitt unten. |
| -iq | --ignore-querystring | Entfernt den Query-String (einschließlich URL-Fragmenten #), sodass die Ausgabe nur eindeutige Pfade enthält. |
| -fnp | --fragment-not-param | Behandelt URL-Fragmente # nicht auf die gleiche Weise wie Parameter, z. B. wird ein Link normalerweise behalten, wenn er ein Filter-Schlüsselwort und ein Fragment (oder einen Parameter) hat. Wenn dieses Argument jedoch übergeben wird und ein Link ein Filterwort und ein Fragment hat, wird der Link entfernt. Wenn dieses Argument außerdem übergeben wird und -iq / --ignore-querystring verwendet wird, wird das Fragment NICHT aus Links entfernt, wenn sich kein Query-String im Link befindet. |
| -lang | --language | Wenn übergeben und es mehrere URLs mit unterschiedlichen Sprachcodes als Teil des Pfades gibt, wird nur eine Version der URL ausgegeben. Die Codes sind im Abschnitt LANGUAGE der config.yml angegeben. |
| -c | --config | Pfad zur YML-Konfigurationsdatei. Wenn nicht übergeben, sucht das Tool nach der Datei config.yml im Standard-Konfigurationsverzeichnis, z. B. ~/.config/urless/. |