XIDEL es una herramienta de línea de comandos para descargar y extraer datos de las páginas HTML/XML usando selectores CSS, XPATH/XQuery 3.0, así como consultar archivos JSON o API (REST por ejemplo) usando JSONIQ.
Hay binarios sin dependencia para Windows, Linux y Mac.
Es un envoltorio alrededor de mis herramientas de Internet Pascal (ver Repository InternetTetTools), por lo que admite XPATH 2.0, XPATH 3.0, XQuery 1.0, XQuery 3.0, JSONIQ, CSS Selectors y mis propias extensiones/lenguajes (EG Pattern Coincidencia) y si puede compilar ese proyecto, puede compilar Xidel.
Un ejemplo simple para devolver los títulos de todas las páginas vinculadas por alguna página inicial:
xidel http://example.org --follow //a --extract //title
o más simple
xidel http://example.org -f //a -e //title
El lenguaje se puede elegir explícitamente. Por ejemplo
xidel input.html --css 'a'
xidel input.html --xpath '//a/@href'
xidel input.html --xquery 'for $var in //a order by $var return $var'
Devuelve todos los enlaces, el URI objetivo de cada enlace o el texto de todos los enlaces alfabéticamente.
Hay más ejemplos en la página anterior con binarios, la wiki GitHub y en los ejemplos de directorio.
Puede compilarlo llamando build.sh e instalarlo llamando build.sh -t . Alternativamente, puede compilarlo con el Lázaro IDE.
Puede llamar a los comandos del script .travis.yml para descargar dependencias.