
Désencombrer une liste d'URLs
Cet outil sert à désencombrer une liste d'URLs. Comme point de départ, j'ai pris l'incroyable outil uro de Somdev Sangwan. Mais je voulais changer quelques éléments, apporter quelques améliorations (comme gérer les GUID) et le rendre plus personnalisable.
urless prend en charge Python 3.
Installez urless dans l'environnement python par défaut (global).
pip install urless
OU
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
Vous pouvez mettre à jour avec
pip install --upgrade urless
Installation rapide dans un environnement python isolé à l'aide de pipx
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| Argument | Long Argument | Description |
|---|---|---|
| -i | --input | Un fichier d'URLs à désencombrer. |
| -o | --output | Le fichier de sortie qui contiendra la liste désencombrée d'URLs (par défaut : output.txt). Si la sortie est redirigée vers un autre programme, elle sera écrite sur STDOUT à la place. |
| -fk | --filter-keywords | Une liste de mots-clés séparés par des virgules pour exclure des liens (s'il n'y a pas de paramètres). Cela remplacera la liste FILTER_KEYWORDS spécifiée dans config.yml |
| -fe | --filter-extensions | Une liste d'extensions de fichiers séparées par des virgules à exclure. Cela remplacera la liste FILTER_EXTENSIONS spécifiée dans config.yml |
| -rp | --remove-params | Une liste de paramètres sensibles à la casse séparés par des virgules à supprimer de TOUTES les URLs. Cela remplacera la liste REMOVE_PARAMS spécifiée dans config.yml. Cela peut être utile pour supprimer les paramètres anti-cache (cache buster) par exemple.** |
| -ks | --keep-slash | Une barre oblique finale à la fin d'une URL en entrée ne sera pas supprimée. Par conséquent, des URLs identiques peuvent être produites en sortie, l'une avec et l'autre sans barre oblique finale. |
| -khw | --keep-human-written | Par défaut, toute URL dont une partie du chemin contient plus de 3 tirets (-) est supprimée, car on suppose qu'il s'agit de contenu rédigé par un humain (par ex. un article de blog) et qu'il n'est pas intéressant. Passer cet argument les conservera en sortie. |
| -kym | --keep-yyyymm | Par défaut, toute URL dont le chemin contient /YYYY/MM (où YYYY est une année et MM un mois) est supprimée, car on suppose qu'il s'agit de contenu de blog ou d'actualités, et qu'il n'est pas intéressant. Passer cet argument les conservera en sortie. |
| -rcid | --regex-custom-id | UTILISER AVEC PRUDENCE ! Regex pour un ID personnalisé que votre cible utilise. Assurez-vous que la valeur est passée entre guillemets. Voir la section ci-dessous pour plus de détails à ce sujet. |
| -iq | --ignore-querystring | Supprime la chaîne de requête (y compris les fragments d'URL #) afin que la sortie ne contienne que des chemins uniques. |
| -fnp | --fragment-not-param | Ne traite pas les fragments d'URL # de la même manière que les paramètres, par ex. si un lien contient un mot-clé de filtrage et un fragment (ou paramètre), le lien est généralement conservé, mais si cet argument est passé et qu'un lien contient un mot de filtrage et un fragment, le lien sera supprimé. De plus, si cet argument est passé et que -iq / --ignore-querystring est utilisé, le fragment ne sera PAS supprimé des liens si aucun paramètre de requête n'est présent dans le lien. |
| -lang | --language | Si cet argument est passé et qu'il y a plusieurs URLs avec des codes de langue différents dans le chemin, une seule version de l'URL sera produite en sortie. Les codes sont spécifiés dans la section LANGUAGE de config.yml. |
| -c | --config | Chemin vers le fichier de configuration YML. S'il n'est pas passé, l'outil cherche le fichier config.yml dans le répertoire de configuration par défaut, par ex. ~/.config/urless/. |
| -dp | --disregard-params | Certains filtrages ne sont pas effectués si les URLs ont des paramètres, car par défaut nous voulons voir tous les paramètres possibles. Si cet argument est passé, le filtrage sera effectué, indépendamment de l'existence de paramètres. |