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

Peter

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

A szerzőről

Peter, az eOldal.hu tapasztalt SEO szakértője és tartalomgyártója. Több mint 10 éve foglalkozik keresőoptimalizálással és online marketinggel, amelyek révén számos magyar vállalkozás sikerét segítette elő. Cikkeiben részletes és naprakész információkat nyújt az olvasóknak a legfrissebb SEO trendekről és stratégiákról.