π ΠΠ°ΠΊ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ ΡΠ°ΠΉΡΠ° python: ΠΏΡΠΎΡΡΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈ ΡΠΎΠ²Π΅ΡΡ
ΠΠ°ΠΊ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ ΡΠ°ΠΉΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ»Ρ ΡΠΏΠ°ΡΡΠ° ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ BeautifulSoup Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° HTML-ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠΈΡΠΊΠ° Π½ΡΠΆΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import requests
from bs4 import BeautifulSoup
import urllib
# URL Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ
ΠΎΠ΄ΠΈΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°
url = 'https://www.example.com/page'
# ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΡΡΠ°Π½ΠΈΡΡ
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
# ΠΠ°Ρ
ΠΎΠ΄ΠΈΠΌ ΡΠ΅Π³ Ρ Π½ΡΠΆΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ
image_tag = soup.find('img', src=True)
# ΠΠΎΠ»ΡΡΠ°Π΅ΠΌ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
image_url = urllib.parse.urljoin(url, image_tag['src'])
# Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΊ
response = requests.get(image_url)
with open('image.jpg', 'wb') as f:
f.write(response.content)
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ BeautifulSoup Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ° HTML-ΠΊΠΎΠ΄Π° ΠΈ ΠΏΠΎΠΈΡΠΊΠ° ΡΠ΅Π³Π° Ρ Π½ΡΠΆΠ½ΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, Π° ΡΠ°ΠΊΠΆΠ΅ urllib Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests ΡΠ½ΠΎΠ²Π° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΅Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ Π΄ΠΈΡΠΊ.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ requests ΠΈ BeautifulSoup ΠΏΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠΎΠ΄Π°:
pip install requests
pip install beautifulsoup4
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ ΡΠ°ΠΉΡΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python?
ΠΠ°ΡΡΠΈΠ½Π³ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ Π½ΡΠΆΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ β ΡΡΠΎ Π²Π°ΠΆΠ½ΡΠ΅ Π½Π°Π²ΡΠΊΠΈ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ°. ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python, Π²Π°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ HTTP-Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ HTML-ΠΊΠΎΠ΄Π°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ
ΠΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ Π½Π°ΡΠ°ΡΡ ΡΠΏΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
pip install requests
pip install beautifulsoup4
Π¨Π°Π³ΠΈ ΠΏΠΎ ΡΠΏΠ°ΡΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
- ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:
- ΠΡΠΏΡΠ°Π²ΡΡΠ΅ HTTP-Π·Π°ΠΏΡΠΎΡ Π½Π° Π²Π΅Π±-ΡΠ°ΠΉΡ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ HTML-ΡΡΡΠ°Π½ΠΈΡΡ:
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ BeautifulSoup Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ HTML-ΠΊΠΎΠ΄Π°:
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅Π³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π½ΡΠΆΠ½Π°Ρ Π²Π°ΠΌ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°:
- ΠΠ·Π²Π»Π΅ΠΊΠΈΡΠ΅ URL ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π΅:
import requests
from bs4 import BeautifulSoup
url = "URL_ΡΠ°ΠΉΡΠ°"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
image_tag = soup.find("img", {"class": "Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠ»Π°ΡΡΠ°"})
image_url = image_tag["src"]
response = requests.get(image_url)
with open("ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°.jpg", "wb") as file:
file.write(response.content)
Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ² Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΡΠΏΠ°ΡΡΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ Π²Π΅Π±-ΡΠ°ΠΉΡΠ° ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΅Π΅ Π½Π° ΡΠ²ΠΎΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ "URL_ΡΠ°ΠΉΡΠ°", "Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠ»Π°ΡΡΠ°" ΠΈ "ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°.jpg" Π½Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ Π²Π°ΡΠΈΠΌΠΈ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡΠΌΠΈ.