1. Tuotteet
  2.   HTML
  3.   Python
  4.   Beautiful Soup
 
  

Avoimen lähdekoodin Python-kirjasto HTML/XML:n jäsentämiseen ja datan poimintaan

Beautiful Soup on johtava avoimen lähdekoodin Python-jäsentämiskirjasto, joka jäsentää sotkuista HTML:ää/XML:ää, poimii tekstiä ja linkkejä, navigoi puussa ja mahdollistaa nykyaikaiset web-scraping-työnkulut.

Mikä on Beautiful Soup?

Web-scraping on tullut olennaiseksi taidoksi datatieteilijöille, kehittäjille ja tutkijoille, jotka tarvitsevat arvokasta tietoa verkkosivustoilta. Beautiful Soup on yksi suosituimmista ja käyttäjäystävällisimmistä Python-kirjastoista HTML- ja XML-dokumenttien jäsentämiseen. Vuodesta 2004 lähtien tämä tehokas työkalu on säästänyt ohjelmoijilta lukemattomia tunteja web-scraping-projekteissa. Kirjaston intuitiivinen API, erinomainen dokumentaatio ja aktiivinen yhteisötuki varmistavat, että sekä aloittelijat että kokeneet kehittäjät voivat poimia verkkotietoja tehokkaasti.

Beautiful Soup on Python-kirjasto, joka on erityisesti suunniteltu tiedon poimimiseen HTML- ja XML-tiedostoista. Se on tehokas Python-kirjasto, joka on säästänyt ohjelmoijille tunteja tai päiviä työtä web-scraping-projekteissa vuodesta 2004. Vain muutamalla koodirivillä voit suorittaa monimutkaisia kyselyitä, kuten yksinkertaisuutta ja helppokäyttöisyyttä, löytää kaikki linkit, poimia tekstisisältöä, automaattinen merkistön muunnos, parserin joustavuus, vankka virheenkäsittely, hakeminen ja linkkien poimiminen verkkosivuilta ja paljon muuta.

Beautiful Soup -kirjasto muuttaa usein turhauttavan tehtävän, jossa tietoa poimitaan HTML- ja XML-dokumenteista, suoraviivaiseksi Python-tyyliseksi prosessiksi, muuntaen huonosti rakennetun verkkosisällön siististi järjestetyiksi jäsennyspuiksi, joita voit selata ja hakea yksinkertaisilla menetelmillä. Se, mikä perinteisesti veisi tunteja manuaalista koodausta, voidaan toteuttaa minuuteissa Beautiful Soupin avulla. Se on edelleen alan standardi Python-kehittäjille, jotka astuvat web-scrapingin maailmaan. Sen yksinkertaisuus, yhdistettynä erilaisten jäsennysmoottorien voimaan, tekee siitä voittamattoman valinnan tiedon poimimiseen staattisilta verkkosivustoilta.

Previous Next

Aloittaminen Beautiful Soupin kanssa

Suositeltu ja helpoin tapa asentaa Beautiful Soup on pipin käyttö. Käytä seuraavaa komentoa sujuvaan asennukseen.

Asenna Beautiful Soup -kirjasto pipin avulla

pip install beautifulsoup4 

Voit myös asentaa sen manuaalisesti; lataa uusimmat julkaisutiedostot suoraan Beautiful Soup -verkkosivulta.

Työskentele useiden jäsentimien kanssa

Beautiful Soup -kirjasto ei tee kaikkea jäsentämistä itse — sen sijaan se toimii kypsien jäsentimien, kuten Pythonin sisäänrakennetun html.parserin, nopean lxml-jäsentimen ja selaimelle ominaisen html5libin, päällä. Tarpeiden mukaan voit asettaa etusijalle nopeuden tai standardien noudattamisen. Tämä arkkitehtuuri tarjoaa joustavuutta valita tarpeisiisi parhaiten sopiva jäsentin, vaihtaa jäsentämisnopeutta joustavuuden puolesta, kokeilla erilaisia jäsentämisstrategioita muuttamatta Beautiful Soup -koodiasi, jne. Seuraava yksinkertainen koodi näyttää, miten kehittäjät voivat käyttää eri jäsentimiä Beautiful Soupin kanssa.

Kuinka käyttää useita jäsennimiä HTML-dokumenttien jäsentämiseen Python-sovelluksissa?

# Using different parsers with Beautiful Soup
html_doc = "

Esimerkkisisältö

" # Using lxml parser (fast) soup_lxml = BeautifulSoup(html_doc, 'lxml') # Using html5lib parser (slower but more lenient) soup_html5lib = BeautifulSoup(html_doc, 'html5lib') # Using Python's built-in parser soup_builtin = BeautifulSoup(html_doc, 'html.parser')

Linkkien poiminta verkkosivuilta

Linkkien kerääminen on yleinen web-scraping-tehtävä, erityisen hyödyllinen verkkorobottien rakentamiseen. Avoimen lähdekoodin Beautiful Soup -kirjasto sisältää tuen verkkosivujen lataamiseen ja linkkien poimimiseen Python-sovelluksissa. Seuraava yksinkertainen koodiesimerkki näyttää, miten haetaan live-verkkosivu käyttäen requests-kirjastoa ja sitten poimitaan kaikki ankkuritagit Python-sovelluksissa.

Kuinka poimia linkkejä verkkosivuilta Pythonin avulla?

from bs4 import BeautifulSoup
import requests

# Fetch a real webpage
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')

# Extract all links
links = soup.find_all('a')

print(f"Found {len(links)} links:")
for link in links:
    href = link.get('href')
    text = link.get_text().strip()
    print(f"Text: {text} | URL: {href}")

# Filter links by criteria
external_links = []
for link in soup.find_all('a'):
    href = link.get('href')
    if href and href.startswith('http'):
        external_links.append(href)

print(f"\nFound {len(external_links)} external links")

Tiettyjen HTML-elementtien hakeminen

Yksi Beautiful Soupin suurimmista vahvuuksista on se, kuinka luonnollisesti se antaa sinun hakea HTML:ää, melkein kuin lukisit tavallista englantia. Sen sijaan, että käsittelisit monimutkaisia DOM-rajapintoja, kuvailet mitä haluat, ja Beautiful Soup löytää sen puolestasi. Oletetaan, että haluat löytää kaikki sivun linkit. Voit käyttää find_all-metodia kuten seuraavassa koodiesimerkissä on näytetty. Metodi palauttaa listan kaikista linkkitageista. Sitten käymme ne läpi poimiaksemme URL-osoitteen ja tekstin saadaksemme näkyvän linkin nimen Python-API:n avulla.

Kuinka hakea ja poimia tietty HTML-elementti verkkosivulta Python API:n avulla?

# Extract all anchor tags
links = soup.find_all('a')

for link in links:
    href = link.get('href')
    text = link.text.strip()
    print(f"Text: {text} | URL: {href}")

Automaattinen merkistökoodauksen käsittely

Yksi Beautiful Soupin kätevimmistä ominaisuuksista on sen automaattinen merkistön muunnos. Kirjasto muuntaa automaattisesti saapuvat asiakirjat Unicode-muotoon ja lähtevät asiakirjat UTF-8-muotoon, poistaen yhden yleisimmistä päänsärystä verkkokaavinnassa. Muista, että sinun tarvitsee miettiä merkistöjä vain silloin, kun asiakirja ei määritä merkistöä, koska Beautiful Soup ei pysty automaattisesti havaitsemaan merkistöä. Näissä harvinaisissa tapauksissa määritä alkuperäinen merkistö käsin.

 Suomen