
Очистить список URL-адресов
Это инструмент для очистки списка URL. В качестве отправной точки я взял замечательный инструмент uro от Somdev Sangwan. Но я хотел изменить некоторые вещи, внести улучшения (например, работу с GUID) и сделать его более настраиваемым.
urless поддерживает Python 3.
Установите urless в стандартное (глобальное) окружение Python.
pip install urless
ИЛИ
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
Вы можете обновить с помощью
pip install --upgrade urless
Быстрая установка в изолированном Python-окружении с помощью pipx
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| Аргумент | Длинный аргумент | Описание |
|---|---|---|
| -i | --input | Файл с URL-адресами для очистки. |
| -o | --output | Выходной файл, который будет содержать очищенный список URL (по умолчанию: output.txt). Если вывод передаётся в другую программу, результат будет записан в STDOUT. |
| -fk | --filter-keywords | Список ключевых слов через запятую для исключения ссылок (если параметров нет). Это переопределит список FILTER_KEYWORDS, указанный в config.yml |
| -fe | --filter-extensions | Список расширений файлов через запятую для исключения. Это переопределит список FILTER_EXTENSIONS, указанный в config.yml |
| -rp | --remove-params | Список чувствительных к регистру параметров через запятую для удаления из ВСЕХ URL. Это переопределит список REMOVE_PARAMS, указанный в config.yml. Это может быть полезно, например, для удаления параметров cache buster.** |
| -ks | --keep-slash | Завершающий слэш в конце URL во входных данных не будет удалён. Поэтому в результате могут быть одинаковые URL: один с завершающим слэшем и один без него. |
| -khw | --keep-human-written | По умолчанию любой URL, содержащий в части пути более 3 дефисов (-), удаляется, поскольку считается, что это контент, написанный человеком (например, пост в блоге), и он не интересен. Передача этого аргумента сохранит их в выводе. |
| -kym | --keep-yyyymm | По умолчанию любой URL с путём, содержащим /YYYY/MM (где YYYY — год, а MM — месяц), удаляется, поскольку предполагается, что это блог/новостной контент, и он не интересен. Передача этого аргумента сохранит их в выводе. |
| -rcid | --regex-custom-id | ИСПОЛЬЗУЙТЕ С ОСТОРОЖНОСТЬЮ! Regex для пользовательского идентификатора, который использует ваша цель. Убедитесь, что значение передано в кавычках. Подробнее об этом см. в разделе ниже. |
| -iq | --ignore-querystring | Удаляет строку запроса (включая фрагменты URL #), поэтому на выходе остаются только уникальные пути. |
| -fnp | --fragment-not-param | Не обрабатывать фрагменты URL # так же, как параметры, например, если ссылка содержит ключевое слово фильтра и фрагмент (или параметр), ссылка обычно сохраняется, но если этот аргумент передан и ссылка содержит слово фильтра и фрагмент, ссылка будет удалена. Кроме того, если этот аргумент передан и используется -iq / --ignore-querystring, фрагмент НЕ будет удалён из ссылок, если в ссылке нет строки запроса. |
| -lang | --language | Если передан и существуют несколько URL с разными языковыми кодами в составе пути, будет выведена только одна версия URL. Коды указаны в разделе LANGUAGE файла config.yml. |
| -c | --config | Путь к YML-файлу конфигурации. Если не передан, ищется файл config.yml в каталоге конфигурации по умолчанию, например ~/.config/urless/. |
| -dp | --disregard-params | Некоторые фильтры не применяются, если URL содержат параметры, поскольку по умолчанию мы хотим видеть все возможные параметры. Если этот аргумент передан, фильтрация будет выполнена независимо от наличия параметров. |