Piton

Hogyan szerezzünk href attribútumot a BeautifulSoup használatával?

A világszerte található 1,11 milliárd webhely közel 95%-a túlnyomórészt HTML-t használ. Az összes webhely közötti összekapcsolást linkek segítik elő. Az összekapcsolási folyamat lehetővé tétele érdekében az asthehref attribútum jelentős szerepet játszik.

A href attribútum megkönnyíti a kattintható hivatkozások összekapcsolását. Hiperhivatkozással adja meg a hivatkozott erőforrás URL-címét. A Href attribútumok megkönnyítik az értékes információk visszakeresését, ami hatékonyabb és pontosabb adatkinyerést eredményez.

Ez a cikk egy lépésről lépésre bemutatja a HTML href beszerzését a bs4 BeautifulSoup használatával. Olvass tovább.

Mi az a href attribútum?

A hipertext hivatkozási attribútum (vagy href attribútum) kattintható hiperhivatkozást hoz létre. Jelzi a horgonyszöveg célhelyét, amely egy funkcionális hiperhivatkozáshoz vezet bármely weboldalon.

Weboldalak és webhelyek közzététele bonyolult kódkészletekkel való foglalkozást jelent. Kattintható hiperhivatkozás beszúrásához az alábbi formátumot kell használnia:

<a href="https://techjury.net/blog/how-to-get-an-href-attribute-using-beautifulsoup/Insert link here"> Insert text here </a>

Íme egy példa, hogyan kell kinéznie:

<a href="https://techjury.net/scraping/"> Techjury | Techniques for Data Scraping</a>

A kód a következő kimenetet adja:

Techjury | Adatlekopási technikák

A href attribútum nélkül a kimenet egyszerű szövegként jelenik meg. Így fog kinézni:

Techjury | Adatlekopási technikák

A Href attribútumok meghatározzák a hiperhivatkozás célját, így zökkenőmentesen navigálhat egyik weboldalról a másikra. A href attribútumok hiánya befolyásolja a weboldal felhasználói élményét.

Mire van szüksége a href attribútumok kinyeréséhez

Mielőtt elkezdené a href attribútum lekaparását, töltse le és telepítse a következő előfeltételeket:

Piton Piton – a webhelyadatok kinyerésének kódolására és automatizálására általánosan használt programozási nyelv. Ez az útmutató a Python v3.9.6-ot használja.
Python-könyvtárak Python könyvtárak – meghatározott feladatok vagy funkciók kódgyűjteményei. Egyes könyvtárak nincsenek előre elkészítve, ezért manuálisan kell telepíteni őket.
A href attribútumok lekéréséhez a következő két Python-könyvtárra lesz szüksége:
Gyönyörű leves (4-es verzió) – HTML és XML dokumentumok kibontásához és elemzéséhez. Kérések – HTTP kliens jellegű kérésekhez használják.
  IDE Kódszerkesztő vagy IDE - egy alkalmazás kód írásához vagy fejlesztéséhez. Ez az útmutató azt használja Visual Studio kódde bármilyen kódszerkesztőt választhat.

Telepítés és ellenőrzés

A követelmények biztosítása az első lépés a href attribútumok megszerzésében. Kövesse az alábbi lépéseket az előfeltételek telepítéséhez:

Python telepítés

Könnyen lehet töltse le a Python-t a hivatalos webhelyéről. Miután telepítette, futtassa a következő parancsot a Python verziójának ellenőrzéséhez:

python – verzió

A kimenetnek az imént telepített Python-verziót kell megjelenítenie. Példa:

Python 3.9.6
PIP telepítés

Előfordulhat, hogy a 3-as verzió alatti Python nem tartalmazza a PIP-t a telepítéskor. A PIP-t manuálisan kell telepítenie. Ehhez a következő parancsokat futtathatja:

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py

Ellenőrizze, hogy a telepítés sikeres-e a parancs futtatásával:

pip --version

A parancs egy értéket ad vissza, amely jelzi a gépre telepített PIP verziót. Például:

pip 23.2.1 from c:\users\appdata\local\programs\python\python39\lib\site-packages\pip (python 3.9)
BeautifulSoup telepítése PIP segítségével

A href HTML-ből való lekéréséhez először telepítse a BeautifulSoup-ot. CMD vagy VS Code is használható. Ezt a következő parancs futtatásával teheti meg:

pip install beautifulsoup4

Ellenőrizze a telepített BeautifulSoup verziót a következővel:

pip list

A visszatérési érték a csomagok listája a verziójukkal. Egy 4.xx formátumú verziót kell látnia. Példa:

Package                     Version
    ------------------          -----------   

beautifulsoup4              4.12.2

Hogyan kaphatok href-et egy címkéből a BeautifulSoupban?

A BeautifulSoup különböző módszereket kínál a HTML-elemek megkeresésére és kinyerésére. A href attribútumokat tartalmazó horgonycímkék kivonásakor kétféleképpen teheti meg: lelet() és mind_keres().

Az alábbiakban megtudhatja, hogyan működnek az egyes módszerek.

1. módszer: find()

A lelet() metódus megkeresi az első egyező elemet, amely megfelel a megadott feltételeknek. Keresni fog az első horgonycímkében a href attribútummal.

Íme a lépések a href attribútumok lekéréséhezlelet():

  1. Importálja a BeautifulSoup könyvtárat a bs4 csomagból.
    bs4 importból BeautifulSoup
  2. Határozza meg a HTML tartalmat a következő formátumban:
<a href="https://techjury.net/blog/how-to-get-an-href-attribute-using-beautifulsoup/URL"> Clickable text or content </a>

Példa:

html=""'<a href="https://techjury.net/scraping/"> Techjury | Techniques for Data Scraping</a>'''
  1. Hozza létre és elemezze a BeautifulSoup objektumot.
soup = BeautifulSoup(html, 'html.parser')
🗒️ Megjegyzés
A második argumentum az elemző könyvtár nevét jelzi. Először határozza meg, hogy milyen típusú jelölést szeretne elemezni. Válasszon a következők közül: html lxml xml html5
  1. A href attribútumok kibontása.
link = soup.find('a')
  1. Bontsa ki a href attribútum értékét a get() paranccsal.
href_att = link.get('href')
  1. Jelenítse meg a href attribútumot a print funkcióval.
print("href:", href_att)

Konszolidálja az összes lépést. Az alábbiakban található a végső kód a href attribútum lekéréséhez a lelet() módszer:

from bs4 import BeautifulSoup html=""'<a href="https://techjury.net/scraping/"> Techjury | Techniques for Data Scraping</a>''' soup = BeautifulSoup(html, 'html.parser') link = soup.find('a') href_att = link.get('href') print("href:", href_att)

2. módszer: find_all()

A mind_keres() metódus a weboldalon belüli objektumok listáját adja vissza. Az összes horgonycímkét és azok href attribútumait a HTML-tartalomból szerzi be.

Profi tipp
Tedd nem használja ezt a módszert, ha tudja, hogy egy dokumentumnak csak egy címkéje van. A teljes dokumentum egyetlen címkével történő beolvasása időt pazarol.

Kövesse az alábbi lépéseket a href használatával összegyűjtéséhez mind_keres():

  1. Szerezze be a BeautifulSoup könyvtárat a bs4 csomagból.
from bs4 import BeautifulSoup
  1. Importáljon egy HTTP-ügyfelet, hogy megkapja az URL mögötti HTML-tartalmat, és továbbítsa azt a BeautifulSoupnak.
    import kérések
  2. Határozza meg a lekaparni kívánt hivatkozást.
url = "https://techjury.net/scraping/"
  1. Bontsa ki az URL-ek listáját a kap() parancs.
req = requests.get(url)
  1. Hozza létre és elemezze a BeautifulSoup objektumot.
soup = BeautifulSoup(req.text, "html.parser")
  1. Visszaküldi az összes egyező elem listáját. A for hurokkal a teljes dokumentumot beszkenneli.
for link in soup.find_all('a')
  1. Jelenítse meg az összes HTML href hivatkozást a konzolra vagy terminálra.
print(link.get('href'))

Az utolsó lépés az összes előző lépés összevonása. Itt látható a href attribútum lekérésének teljes áttekintése a mind_keres() módszer:

from bs4 import BeautifulSoup import requests url = "https://techjury.net/scraping/" req = requests.get(url) soup = BeautifulSoup(req.text, "html.parser") print("href links are as follows:") for link in soup.find_all('a'):     print(link.get('href'))

Következtetés

A href attribútum zökkenőmentesebbé teszi a linkelést, és megkönnyíti a felhasználók számára a navigációt több milliárd webhelyen. Ettől eltekintve értékes adatok lekaparását teszi lehetővé, mivel tartalmazza a céloldal teljes címét.

A href attribútumok lekaparása Python segítségével egyszerű folyamat. A Pythonnak van egy csomagkönyvtára, amelyet kifejezetten a webkaparáshoz használnak – a BeautifulSoup. A BeautifulSoup segítségével a href attribútumok kinyerése csak minimális kódolást igényel.

GYIK