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
endKäyttö:
parse_html 'https://example.com'Tuloste:
EsimerkkialueJokainen 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.