Fish Shell:
Analizando HTML
Cómo hacerlo:
Predominantemente, Fish shell no está diseñado para analizar HTML directamente. Sin embargo, sobresale en unir herramientas Unix como curl
, grep
, sed
, awk
, o utilizando herramientas especializadas como pup
o beautifulsoup
en un script de Python. A continuación, se presentan ejemplos que muestran cómo aprovechar estas herramientas desde Fish shell para analizar HTML.
Usando curl
y grep
:
Obtener contenido HTML y extraer líneas que contienen enlaces:
curl -s https://example.com | grep -oP '(?<=href=")[^"]*'
Salida:
/page1.html
/page2.html
...
Usando pup
(una herramienta de línea de comandos para analizar HTML):
Primero, asegúrate de que pup
esté instalado. Luego puedes usarlo para extraer elementos por sus etiquetas, ids, clases, etc.
curl -s https://example.com | pup 'a attr{href}'
La salida, similar al ejemplo de grep
, listaría los atributos href de las etiquetas <a>
.
Con un script de Python y beautifulsoup
:
Aunque Fish por sí mismo no puede analizar HTML de forma nativa, se integra perfectamente con scripts de Python. A continuación, un ejemplo conciso que usa Python con BeautifulSoup
para analizar y extraer títulos de HTML. Asegúrate de tener instalados beautifulsoup4
y requests
en tu entorno Python.
parse_html.fish
function parse_html -a url
python -c "
import sys
import requests
from bs4 import BeautifulSoup
response = requests.get(sys.argv[1])
soup = BeautifulSoup(response.text, 'html.parser')
titles = soup.find_all('title')
for title in titles:
print(title.get_text())
" $url
end
Uso:
parse_html 'https://example.com'
Salida:
Example Domain
Cada uno de estos métodos sirve para diferentes casos de uso y escalas de complejidad, desde la simple manipulación de texto de línea de comandos hasta el pleno poder de análisis de beautifulsoup
en scripts de Python. Dependiendo de tus necesidades y la complejidad de la estructura HTML, puedes elegir un enfoque de línea de comandos sencillo o un enfoque de script más poderoso.