Fish Shell:
Tolka HTML
Hur:
Fish shell är huvudsakligen inte designat för att direkt parse:a HTML. Däremot är det utmärkt på att sammanfoga Unix-verktyg som curl, grep, sed, awk, eller att använda specialiserade verktyg som pup eller beautifulsoup i ett Python-skript. Nedan följer exempel som visar hur du kan utnyttja dessa verktyg inom Fish shell för att parse:a HTML.
Använda curl och grep:
Hämta HTML-innehåll och extrahera rader som innehåller länkar:
curl -s https://example.com | grep -oP '(?<=href=")[^"]*'Utdata:
/page1.html
/page2.html
...Använda pup (ett kommandoradsverktyg för att tolka HTML):
Först, se till att pup är installerat. Sedan kan du använda det för att extrahera element med deras taggar, id:n, klasser, osv.
curl -s https://example.com | pup 'a attr{href}'Utdata, liknande grep-exemplet, skulle lista href-attributen för <a>-taggar.
Med ett Python-skript och beautifulsoup:
Medan Fish i sig inte kan parse:a HTML på ett infött sätt, integreras det sömlöst med Python-skript. Nedan är ett koncist exempel som använder Python med BeautifulSoup för att parse:a och extrahera titlar från HTML. Se till att du har beautifulsoup4 och requests installerat i din Python-miljö.
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
endAnvändning:
parse_html 'https://example.com'Utdata:
ExempeldomänVar och en av dessa metoder tjänar olika användningsområden och komplexitetsnivåer, från enkel kommandorads textmanipulering till full parsing-kraft med beautifulsoup i Python-skript. Beroende på dina behov och HTML-strukturens komplexitet, kan du välja en enkel Unix-pipelining eller ett kraftfullare skriptningsansats.