
URL 목록 정리하기
이 도구는 URL 목록을 정리(de-clutter)하는 데 사용됩니다. 출발점으로 Somdev Sangwan의 놀라운 도구인 uro를 사용했습니다. 하지만 몇 가지를 변경하고, (GUID 처리 같은) 개선을 만들고, 더 커스터마이즈 가능하게 만들고 싶었습니다.
urless는 Python 3을 지원합니다.
기본(전역) Python 환경에 urless를 설치하세요.
pip install urless
또는
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
다음으로 업그레이드할 수 있습니다:
pip install --upgrade urless
pipx를 사용한 격리된 Python 환경에서의 빠른 설정
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| 인자 | 긴 인자 | 설명 |
|---|---|---|
| -i | --input | 정리할 URL 목록이 담긴 파일입니다. |
| -o | --output | 정리된 URL 목록이 포함될 출력 파일입니다 (기본값: output.txt). 다른 프로그램으로 파이프되면 출력은 대신 STDOUT으로 작성됩니다. |
| -fk | --filter-keywords | 매개변수가 없는 경우 링크를 제외할 쉼표로 구분된 키워드 목록입니다. 이 값은 config.yml에 지정된 FILTER_KEYWORDS 목록을 재정의합니다. |
| -fe | --filter-extensions | 제외할 쉼표로 구분된 파일 확장자 목록입니다. 이 값은 config.yml에 지정된 FILTER_EXTENSIONS 목록을 재정의합니다. |
| -rp | --remove-params | 모든 URL에서 제거할 대소문자 구분 매개변수의 쉼표로 구분된 목록입니다. 이 값은 config.yml에 지정된 REMOVE_PARAMS 목록을 재정의합니다. 예를 들어 캐시 버스터 매개변수를 제거하는 데 유용할 수 있습니다.** |
| -ks | --keep-slash | 입력의 URL 끝에 있는 후행 슬래시는 제거되지 않습니다. 따라서 후행 슬래시가 있는 URL과 없는 URL이 각각 출력되어 동일한 URL이 중복될 수 있습니다. |
| -khw | --keep-human-written | 기본적으로 경로 부분에 대시(-)가 3개 이상 포함된 URL은 사람이 작성한 콘텐츠(예: 블로그 게시물)로 간주되어 흥미롭지 않다고 판단하여 제거됩니다. 이 인자를 전달하면 해당 URL이 출력에 유지됩니다. |
| -kym | --keep-yyyymm | 기본적으로 경로에 /YYYY/MM(YYYY는 연도, MM은 월)이 포함된 URL은 블로그/뉴스 콘텐츠로 간주되어 흥미롭지 않다고 판단하여 제거됩니다. 이 인자를 전달하면 해당 URL이 출력에 유지됩니다. |
| -rcid | --regex-custom-id | 주의해서 사용하세요! 대상이 사용하는 Custom ID에 대한 정규식입니다. 값은 반드시 따옴표로 묶어 전달하세요. 자세한 내용은 아래 섹션을 참조하세요. |
| -iq | --ignore-querystring | 쿼리 문자열(URL 프래그먼트 # 포함)을 제거하여 고유한 경로만 출력되도록 합니다. |
| -fnp | --fragment-not-param | URL 프래그먼트 #을 매개변수와 동일하게 취급하지 않습니다. 예를 들어 링크에 필터 키워드와 프래그먼트(또는 매개변수)가 있으면 일반적으로 링크는 유지되지만, 이 인자를 전달하고 링크에 필터 단어와 프래그먼트가 있으면 링크가 제거됩니다. 또한 이 인자를 전달하고 -iq / --ignore-querystring을 사용하는 경우, 링크에 쿼리 문자열이 없으면 프래그먼트는 제거되지 않습니다. |
| -lang | --language | 이 인자를 전달하고 경로의 일부로 서로 다른 언어 코드를 가진 URL이 여러 개 있는 경우, URL의 한 버전만 출력됩니다. 코드는 config.yml의 LANGUAGE 섹션에 지정됩니다. |
| -c | --config | YML 설정 파일의 경로입니다. 전달하지 않으면 기본 설정 디렉터리(예: ~/.config/urless/)에서 config.yml 파일을 찾습니다. |
| -dp | --disregard-params | URL에 매개변수가 있으면 수행되지 않는 특정 필터링이 있습니다. 기본적으로 가능한 모든 매개변수를 보려고 하기 때문입니다. 이 인자를 전달하면 매개변수의 존재 여부와 관계없이 필터링이 수행됩니다. |
| -nb | --no-banner | 도구 배너 출력을 숨깁니다 (urless에 입력을 파이프하면 기본적으로 숨겨집니다). |
| --version | 현재 버전 번호를 표시합니다. | |
| -v | --verbose | 상세 출력 |
기본적으로 (파일에서 또는 STDIN에서 파이프로) URL 목록을 입력하면 정리된 파일 또는 URL이 출력됩니다. 하지만 어떤 방식으로 정리될까요? 아래에서 설명하겠지만, 먼저 사용될 몇 가지 용어가 있습니다: