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 – 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 – 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. |
|
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():
- Importálja a BeautifulSoup könyvtárat a bs4 csomagból.
bs4 importból BeautifulSoup - 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>'''
- 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 |
- A href attribútumok kibontása.
link = soup.find('a')
- Bontsa ki a href attribútum értékét a get() paranccsal.
href_att = link.get('href')
- 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():
- Szerezze be a BeautifulSoup könyvtárat a bs4 csomagból.
from bs4 import BeautifulSoup
- 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 - Határozza meg a lekaparni kívánt hivatkozást.
url = "https://techjury.net/scraping/"
- Bontsa ki az URL-ek listáját a kap() parancs.
req = requests.get(url)
- Hozza létre és elemezze a BeautifulSoup objektumot.
soup = BeautifulSoup(req.text, "html.parser")
- Visszaküldi az összes egyező elem listáját. A for hurokkal a teljes dokumentumot beszkenneli.
for link in soup.find_all('a')
- 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
-
Használhatja a href-et horgonycímke nélkül?
Nem, mindkét elem szükséges a sikeres és működő hiperhivatkozáshoz. A horgonycímke és a href együtt működnek. A kimenet egy kattinthatatlan URL, ha nincs horgonycímke.
-
Hogyan használjuk a href-et PHP-ben?
Ha szeretne egy href hivatkozást beilleszteni a PHP-be, használja a HTML horgonycímkét a PHP echo függvényével. Ez a kombináció lehetővé teszi, hogy hivatkozásokat generáljon különböző feltételek vagy felhasználói adatok alapján, lehetővé téve webfejlesztési projektjei sokoldalúságának növelését.
-
Bármely elemhez hozzá lehet adni egy href-et?
Nem. Hivatkozáselemhez csak href attribútumot adhat hozzá.