πŸ” Как Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ href с использованиСм bs4 Π² Python

Как Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ href с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ bs4 Π² Python?

Π§Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ href с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ bs4 Π² Python, Π²Π°ΠΌ понадобится ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ find_all для поиска всСх Ρ‚Π΅Π³ΠΎΠ², содСрТащих Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ['href'] для получСния значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° href.


from bs4 import BeautifulSoup

# ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ HTML-ΠΊΠΎΠ΄ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ html
html = '''
<html>
<body>
<a href="https://example.com">Бсылка</a>
</body>
</html>
'''

# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')

# Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ find_all для поиска всСх Ρ‚Π΅Π³ΠΎΠ² 'a'
# с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ 'href' ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° 'href'
a_tags = soup.find_all('a')
for a_tag in a_tags:
    href = a_tag['href']
    print(href)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ создаСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ BeautifulSoup ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π΅ΠΌΡƒ наш HTML-ΠΊΠΎΠ΄. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ find_all для поиска всСх Ρ‚Π΅Π³ΠΎΠ² 'a' с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ 'href' ΠΈ сохраняСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ a_tags. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ Ρ‚Π΅Π³Ρƒ <a> ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° href с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ a_tag['href'].

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π²Ρ‹ смоТСтС Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ href с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ bs4 Π² Python.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ href с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ bs4 Π² Python?

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ bs4 Π² Python для извлСчСния значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° href ΠΈΠ· HTML элСмСнтов. bs4 - это Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Python, которая позволяСт Π»Π΅Π³ΠΊΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒ HTML ΠΈ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΈΡ… содСрТимому с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ структуры Π΄Π΅Ρ€Π΅Π²Π°.

Установка Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ BeautifulSoup

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ bs4, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСна Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° BeautifulSoup. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСн с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pip, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС:

pip install beautifulsoup4

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ установки ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ ΠΊ использованию Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ bs4 для извлСчСния href.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ HTML-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит нСсколько ссылочных элСмСнтов:


<html>
    <body>
        <a href="https://www.example.com">Бсылка 1</a>
        <a href="https://www.google.com">Бсылка 2</a>
        <a href="https://www.stackoverflow.com">Бсылка 3</a>
    </body>
</html>
    

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ href ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта <a>, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


from bs4 import BeautifulSoup

html = '''
<html>
    <body>
        <a href="https://www.example.com">Бсылка 1</a>
        <a href="https://www.google.com">Бсылка 2</a>
        <a href="https://www.stackoverflow.com">Бсылка 3</a>
    </body>
</html>
'''

soup = BeautifulSoup(html, 'html.parser')

links = soup.find_all('a')

for link in links:
    href = link.get('href')
    print(href)
    

ПослС выполнСния этого ΠΊΠΎΠ΄Π°, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

https://www.example.com
https://www.google.com
https://www.stackoverflow.com
    

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ сначала ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ BeautifulSoup ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ bs4. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ создали ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ с HTML ΠΊΠΎΠ΄ΠΎΠΌ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΡƒΠΊΠ°Π·Π°Π»ΠΈ парсСр HTML ΠΈ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ find_all() для получСния всСх элСмСнтов <a>. Π”Π°Π»Π΅Π΅, ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ get() для получСния значСния Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° href ΠΈΠ· ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта <a>.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ bs4 Π² Python для получСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° href ΠΈΠ· элСмСнтов HTML. ΠœΡ‹ установили Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ BeautifulSoup, ΠΈΠ·ΡƒΡ‡ΠΈΠ»ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

bs4 прСдоставляСт ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с HTML ΠΈ XML Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ, ΠΈ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΠΌΠ½ΠΎΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Ρƒ вас Π΅ΡΡ‚ΡŒ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΡΡ‚Π°Π²Π°Ρ‚ΡŒ href с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ bs4 Π² Python, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ этот Π½Π°Π²Ρ‹ΠΊ Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΈΠ»ΠΈ Π·Π°Π΄Π°Ρ‡Π΅.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ парсингу Π½Π° Python #1 | ΠŸΠ°Ρ€ΡΠΈΠ½Π³ сайтов | Π Π°Π·Π±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Beautifulsoup

Π‘ΠΊΡ€Π΅ΠΉΠΏΠΈΠ½Π³ сайтов с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ Beautifulsoup ΠΈ Requests Π½Π° Python

ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Π² Python Π·Π° 10 ΠΌΠΈΠ½ΡƒΡ‚!

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”₯ Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π² Python? Π¨Π°Π³ Π·Π° шагом руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Python 🐍: ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Python Tools for Visual Studio? πŸπŸ”§| Подсказки ΠΈ инструкции

πŸ” Как Π΄ΠΎΡΡ‚Π°Ρ‚ΡŒ href с использованиСм bs4 Π² Python

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, являСтся Π»ΠΈ число ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒΡŽ Π΄Π²ΠΎΠΉΠΊΠΈ Π² Python?

Копия Π² Python: Ρ‡Ρ‚ΠΎ это ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ?

Π§Ρ‚ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? 🐍 ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования!