
Eliminar el desorden de una lista de URLs
Esta es una herramienta utilizada para depurar una lista de URLs. Como punto de partida, tomé la increíble herramienta uro de Somdev Sangwan. Pero quería cambiar algunas cosas, hacer algunas mejoras (como lidiar con GUIDs) y hacerla más personalizable.
urless es compatible con Python 3.
Instala urless en el entorno de Python por defecto (global).
pip install urless
O
pip install git+https://github.com/xnl-h4ck3r/urless.git -v
Puedes actualizarlo con
pip install --upgrade urless
Configuración rápida en un entorno de Python aislado usando pipx
pipx install git+https://github.com/xnl-h4ck3r/urless.git
| Argumento | Argumento Largo | Descripción |
|---|---|---|
| -i | --input | Un archivo de URLs a depurar. |
| -o | --output | El archivo de salida que contendrá la lista depurada de URLs (por defecto: output.txt). Si se canaliza a otro programa, la salida se escribirá en STDOUT. |
| -fk | --filter-keywords | Una lista de palabras clave separadas por comas para excluir enlaces (si no hay parámetros). Esto anulará la lista FILTER_KEYWORDS especificada en config.yml |
| -fe | --filter-extensions | Una lista de extensiones de archivo separadas por comas para excluir. Esto anulará la lista FILTER_EXTENSIONS especificada en config.yml |
| -rp | --remove-params | Una lista separada por comas de parámetros sensibles a mayúsculas para eliminar de TODAS las URLs. Esto anulará la lista REMOVE_PARAMS especificada en config.yml. Esto puede ser útil para eliminar parámetros de cache buster, por ejemplo.** |
| -ks | --keep-slash | Una barra diagonal final al final de una URL de entrada no se eliminará. Por lo tanto, puede haber URLs idénticas en la salida, una con y otra sin barra diagonal final. |
| -khw | --keep-human-written | Por defecto, cualquier URL con una parte de la ruta que contenga más de 3 guiones (-) se elimina porque se asume que es contenido escrito por humanos (por ejemplo, una entrada de blog), y no es interesante. Pasar este argumento las mantendrá en la salida. |
| -kym | --keep-yyyymm | Por defecto, cualquier URL con una ruta que contenga /YYYY/MM (donde YYYY es un año y MM el mes) se elimina porque se asume que es contenido de blog/noticias, y no es interesante. Pasar este argumento las mantendrá en la salida. |
| -rcid | --regex-custom-id | ¡ÚSALO CON PRECAUCIÓN! Expresión regular (regex) para un ID personalizado que usa tu objetivo. Asegúrate de pasar el valor entre comillas. Consulta la sección siguiente para más detalles. |
| -iq | --ignore-querystring | Elimina la cadena de consulta (incluyendo los fragmentos de URL #) para que la salida contenga solo rutas únicas. |
| -fnp | --fragment-not-param | No trates los fragmentos de URL # de la misma manera que los parámetros, p. ej. si un enlace tiene una palabra clave de filtro y un fragmento (o parámetro), el enlace normalmente se conserva, pero si se pasa este argumento y un enlace tiene una palabra de filtro y un fragmento, el enlace se eliminará. Además, si se pasa este argumento y se usa -iq / --ignore-querystring, el fragmento NO se eliminará de los enlaces si no hay una cadena de consulta en el enlace. |
| -lang | --language | Si se pasa y hay múltiples URLs con diferentes códigos de idioma como parte de la ruta, solo se generará una versión de la URL. Los códigos se especifican en la sección LANGUAGE de config.yml. |
| -c | --config | Ruta al archivo de configuración YML. Si no se pasa, busca el archivo config.yml en el directorio de configuración predeterminado, p. ej. ~/.config/urless/. |