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
end
Användning:
parse_html 'https://example.com'
Utdata:
Exempeldomän
Var 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.