π ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π² Python: ΠΏΠΎΡΠ°Π³ΠΎΠ²Π°Ρ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ
import urllib.request
url = 'ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ'
ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π° = 'Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.jpg'
urllib.request.urlretrieve(url, ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°)
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ `urllib.request` Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ ΠΈΠ· ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ URL-Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ Π΅Π΅ ΠΏΠΎΠ΄ Π·Π°Π΄Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎΡΡΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ `'ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ'` Π½Π° URL-Π°Π΄ΡΠ΅Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΡΠΊΡΡΡΡ, ΠΈ `'Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ.jpg'` Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°.
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Π²Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ `urllib.request`, ΡΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ. Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, `.jpg`, `.png`) Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ±Ρ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅.
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π² Python! ΠΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ Π΅ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π·Π°Π΄Π°Π²Π°ΡΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π² ΠΏΠΈΡΠΎΠ½Π΅ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅! Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π² ΠΏΠΈΡΠΎΠ½Π΅ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΡ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ·Π½Π°ΡΡ, ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΡΡΡΡ ΡΠ°Π³ΠΎΠ².
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ requests
ΠΠ΅ΡΠ²ΡΠΌ ΡΠ°Π³ΠΎΠΌ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests. ΠΠ½Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π°ΠΌ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΡ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΎΡΠ²Π΅ΡΡ. ΠΠ»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ requests Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install requests
ΠΡΠ»ΠΈ Ρ Π²Π°Ρ ΡΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ pip, ΡΡΠΎΡ ΡΠ°Π³ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ.
Π¨Π°Π³ 2: ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° requests, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΠ°ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΠΊΡΡΡΡ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import requests
# Π‘ΡΡΠ»ΠΊΠ° Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
image_url = "https://example.com/image.jpg"
# ΠΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ GET-Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
response = requests.get(image_url)
# ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠ°
if response.status_code == 200:
# ΠΠ°Π³ΡΡΠΆΠ°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
image_data = response.content
else:
print("ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ")
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ requests.get, ΡΡΠΎΠ±Ρ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ GET-Π·Π°ΠΏΡΠΎΡ Π½Π° ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΡΡΠ»ΠΊΡ. ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠ° ΡΠ°Π²Π΅Π½ 200 (ΡΡΠΏΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ), ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ image_data.
Π¨Π°Π³ 3: ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PIL (Python Imaging Library). ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π»ΠΈ ΠΎΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
pip install pillow
ΠΠ°ΡΠ΅ΠΌ Π²Π²Π΅Π΄ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
from PIL import Image
from io import BytesIO
# Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ
image = Image.open(BytesIO(image_data))
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅
image.show()
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ Image ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PIL Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° show().
ΠΡΠΎΠ³
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΠΈΡΠΎΠ½Π°. ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ requests ΠΈ pillow, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΠΎΡΠ²Π΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Π΄Π°Π½Π½Π°Ρ ΡΡΠ°ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Ρ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π° Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ Π²Π°ΡΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΠ΅ΠΉ.