
Desorganizar uma lista de URLs
Esta é uma ferramenta usada para limpar uma lista de URLs. Como ponto de partida, usei a incrível ferramenta uro de Somdev Sangwan. Mas queria mudar algumas coisas, fazer algumas melhorias (como lidar com GUIDs) e torná-la mais personalizável.
urless suporta Python 3.
Instale o urless no ambiente python padrão (global).
pip install urless
OU
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
Você pode atualizar com
pip install --upgrade urless
Configuração rápida em ambiente python isolado usando pipx
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| Argumento | Argumento Longo | Descrição |
|---|---|---|
| -i | --input | Um arquivo de URLs para limpar. |
| -o | --output | O arquivo de saída que conterá a lista de URLs limpas (padrão: output.txt). Se for canalizado para outro programa, a saída será gravada no STDOUT. |
| -fk | --filter-keywords | Uma lista separada por vírgulas de palavras-chave para excluir links (se não houver parâmetros). Isso substituirá a lista FILTER_KEYWORDS especificada no config.yml |
| -fe | --filter-extensions | Uma lista separada por vírgulas de extensões de arquivo para excluir. Isso substituirá a lista FILTER_EXTENSIONS especificada no config.yml |
| -rp | --remove-params | Uma lista separada por vírgulas de parâmetros sensíveis a maiúsculas e minúsculas para remover de TODAS as URLs. Isso substituirá a lista REMOVE_PARAMS especificada no config.yml. Isso pode ser útil para remover parâmetros de cache buster, por exemplo.** |
| -ks | --keep-slash | Uma barra final no final de uma URL na entrada não será removida. Portanto, pode haver URLs idênticas na saída, uma com e outra sem barra final. |
| -khw | --keep-human-written | Por padrão, qualquer URL com uma parte do caminho que contenha mais de 3 hífens (-) é removida, pois presume-se que seja conteúdo escrito por humanos (ex.: post de blog) e não interessante. Passar este argumento as manterá na saída. |
| -kym | --keep-yyyymm | Por padrão, qualquer URL com um caminho contendo /YYYY/MM (onde YYYY é um ano e MM um mês) é removida, pois presume-se que seja conteúdo de blog/notícias e não interessante. Passar este argumento as manterá na saída. |
| -rcid | --regex-custom-id | USE COM CUIDADO! Regex para um ID Personalizado que seu alvo usa. Certifique-se de que o valor seja passado entre aspas. Veja a seção abaixo para mais detalhes sobre isso. |
| -iq | --ignore-querystring | Remove a query string (incluindo fragmentos de URL #) para que a saída contenha apenas caminhos únicos. |
| -fnp | --fragment-not-param | Não trate fragmentos de URL # da mesma forma que parâmetros, ex.: se um link tiver uma palavra-chave de filtro e um fragmento (ou parâmetro), o link geralmente é mantido, mas se este argumento for passado e um link tiver uma palavra de filtro e um fragmento, o link será removido. Além disso, se este argumento for passado e -iq / --ignore-querystring for usado, o fragmento NÃO será removido dos links se não houver query string no link. |
| -lang | --language | Se passado e houver múltiplas URLs com diferentes códigos de idioma como parte do caminho, apenas uma versão da URL será emitida. Os códigos são especificados na seção LANGUAGE do config.yml. |
| -c | --config | Caminho para o arquivo de configuração YML. Se não for passado, ele procura o arquivo config.yml no diretório de configuração padrão, ex.: ~/.config/urless/. |