Fish Shell:
Analisando HTML

Como Fazer:

O shell Fish, predominantemente, não é projetado para analisar HTML diretamente. No entanto, ele se destaca em juntar ferramentas Unix como curl, grep, sed, awk, ou usando ferramentas especializadas como pup ou beautifulsoup em um script Python. Abaixo estão exemplos que mostram como aproveitar essas ferramentas dentro do Fish shell para analisar HTML.

Usando curl e grep:

Buscando conteúdo HTML e extraindo linhas que contêm links:

curl -s https://exemplo.com | grep -oP '(?<=href=")[^"]*'

Saída:

/page1.html
/page2.html
...

Usando pup (uma ferramenta de linha de comando para analisar HTML):

Primeiro, garanta que o pup esteja instalado. Então você pode usá-lo para extrair elementos por suas tags, ids, classes, etc.

curl -s https://exemplo.com | pup 'a attr{href}'

A saída, similar ao exemplo do grep, listaria atributos href de tags <a>.

Com um script Python e beautifulsoup:

Embora o Fish em si não possa analisar HTML nativamente, ele se integra perfeitamente com scripts Python. Abaixo está um exemplo conciso que usa Python com BeautifulSoup para analisar e extrair títulos do HTML. Garanta que você tenha beautifulsoup4 e requests instalados no seu ambiente 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://exemplo.com'

Saída:

Exemplo de Domínio

Cada um desses métodos serve diferentes casos de uso e escalas de complexidade, desde simples manipulações de texto de linha de comando até o pleno poder de análise do beautifulsoup em scripts Python. Dependendo das suas necessidades e da complexidade da estrutura do HTML, você pode escolher um pipeline Unix direto ou uma abordagem de script mais poderosa.