Fish Shell:
HTML:n jäsennys

Kuinka:

Fish shell ei pääasiassa ole suunniteltu suoraan HTML:n jäsentämiseen. Kuitenkin, se loistaa yhdistämällä yhteen Unix-työkaluja kuten curl, grep, sed, awk, tai käyttämällä erikoistuneita työkaluja kuten pup tai beautifulsoup Python-skriptissä. Alla on esimerkkejä, jotka esittelevät, kuinka näitä työkaluja voi hyödyntää Fish shellin sisällä HTML:n jäsentämiseen.

Käyttäen curl ja grep:

HTML-sisällön noutaminen ja linkkejä sisältävien rivien poiminta:

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

Tuloste:

/page1.html
/page2.html
...

Käyttäen pup (komentorivityökalu HTML:n jäsentämiseen):

Varmista ensin, että pup on asennettu. Sen jälkeen voit käyttää sitä elementtien poimintaan niiden tagien, id:den, luokkien jne. perusteella.

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

Tuloste, samankaltainen kuin grep esimerkkissä, listaisi <a> tagien href attribuutit.

Python-skriptillä ja beautifulsoup:

Vaikka Fish itsessään ei voi jäsentää HTML:ää natiivisti, se integroituu saumattomasti Python-skripteihin. Alla on tiivis esimerkki, joka käyttää Pythonia ja BeautifulSoupia HTML:n jäsentämiseen ja otsikoiden poimintaan. Varmista, että sinulla on beautifulsoup4 ja requests asennettuna Python-ympäristöösi.

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

Käyttö:

parse_html 'https://example.com'

Tuloste:

Esimerkkialue

Jokainen näistä menetelmistä palvelee erilaisia käyttötapauksia ja monimutkaisuuden asteita, yksinkertaisesta komentorivin tekstimanipulaatiosta koko beautifulsoupin jäsentämisen voimaan Python-skripteissä. Tarpeidesi ja HTML-rakenteen monimutkaisuuden mukaan voit valita suoraviivaisen Unix-putkilinjan tai voimakkaamman skriptauslähestymistavan.