Fish Shell:
Analysering av HTML
Hvordan:
Fish shell er, fremfor alt, ikke designet for direkte parsing av HTML. Det utmerker seg imidlertid ved å lime sammen Unix-verktøy som curl, grep, sed, awk, eller ved å bruke spesialiserte verktøy som pup eller beautifulsoup i et Python-script. Nedenfor er eksempler som viser hvordan du kan utnytte disse verktøyene innenfor Fish shell for å parse HTML.
Bruke curl og grep:
Hente HTML-innhold og trekke ut linjer som inneholder lenker:
curl -s https://example.com | grep -oP '(?<=href=")[^"]*'Utdata:
/page1.html
/page2.html
...Bruke pup (et kommandolinjeverktøy for parsing av HTML):
Først, sørg for at pup er installert. Deretter kan du bruke det til å trekke ut elementer ved deres tagger, id-er, klasser, osv.
curl -s https://example.com | pup 'a attr{href}'Utdata, likt grep-eksemplet, ville listet href-attributter til <a>-taggene.
Med et Python-script og beautifulsoup:
Selv om Fish i seg selv ikke kan parse HTML på en naturlig måte, integreres det sømløst med Python-script. Nedenfor er et kort eksempel som bruker Python med BeautifulSoup for å parse og trekke ut titler fra HTML. Pass på at du har beautifulsoup4 og requests installert i ditt 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
endBruk:
parse_html 'https://example.com'Utdata:
EksempeldomeneHver av disse metodene tjener forskjellige bruksområder og kompleksitetsnivåer, fra enkel tekstmanipulering på kommandolinjen til den fulle parsingkraften av beautifulsoup i Python-skript. Avhengig av dine behov og kompleksiteten til HTML-strukturen, kan du velge en enkel Unix-pipeline eller en kraftigere skripttilnærming.