πΈ ΠΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python? ΠΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΠΎΠ΅ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΈ ΠΎΠΏΡΡΠ½ΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²
ΠΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π² Python
ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π² Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import requests
# URL ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
image_url = "https://example.com/image.jpg"
# ΠΡΠΏΡΠ°Π²ΠΈΡΡ GET-Π·Π°ΠΏΡΠΎΡ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
response = requests.get(image_url)
# ΠΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ°
if response.status_code == 200:
# ΠΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ
with open("image.jpg", "wb") as file:
# ΠΠ°ΠΏΠΈΡΠ°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π² ΡΠ°ΠΉΠ»
file.write(response.content)
print("ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ.")
else:
print("ΠΡΠΈΠ±ΠΊΠ° ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ.")
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests. ΠΠ°ΡΠ΅ΠΌ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ URL ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ. ΠΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌ GET-Π·Π°ΠΏΡΠΎΡ ΠΏΠΎ ΡΡΠΎΠΌΡ URL ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ°. ΠΡΠ»ΠΈ ΡΡΠ°ΡΡΡ ΠΊΠΎΠ΄ ΡΠ°Π²Π΅Π½ 200, ΡΠΎ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π² ΡΡΠΎΡ ΡΠ°ΠΉΠ». Π ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅.
ΠΠ΅ Π·Π°Π±ΡΠ΄ΡΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ URL ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Π² Python?
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. Π£ Π½Π°Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python, requests, Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ HTTP-Π·Π°ΠΏΡΠΎΡΠΎΠ².
Π¨Π°Π³ 1: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ requests
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° requests. ΠΡΠ»ΠΈ Π΅Π΅ Π½Π΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π΅, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅:
pip install requests
Π¨Π°Π³ 2: ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ Π΅ΡΡΡ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° requests, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import requests
def download_image(url, filename):
response = requests.get(url)
if response.status_code == 200:
with open(filename, 'wb') as file:
file.write(response.content)
print(f"ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΊΠ°ΠΊ {filename}")
else:
print("ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅")
download_image('ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅', 'ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°.ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅')
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ download_image, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π΄Π²Π° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°: URL ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ. Π€ΡΠ½ΠΊΡΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ GET-Π·Π°ΠΏΡΠΎΡΠ° ΠΊ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ URL. ΠΡΠ»ΠΈ ΠΎΡΠ²Π΅Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΊΠΎΠ΄ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ 200 (ΡΡΠΏΠ΅ΡΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ), ΠΌΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ° Π² ΡΠ°ΠΉΠ» Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ.
Π¨Π°Π³ 3: ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ ΠΊΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ. ΠΠ°ΠΌΠ΅Π½ΠΈΡΠ΅ 'ΡΡΡΠ»ΠΊΠ°_Π½Π°_ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅' Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ»ΠΊΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΈΡΡ. Π’Π°ΠΊΠΆΠ΅ Π·Π°ΠΌΠ΅Π½ΠΈΡΠ΅ 'ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°.ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅' Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° ΠΈ Π΅Π³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅. ΠΠ°ΡΠ΅ΠΌ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΡΠ»ΠΈ Π²ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ "ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΡΡΠΆΠ΅Π½ΠΎ ΠΊΠ°ΠΊ ΠΈΠΌΡ_ΡΠ°ΠΉΠ»Π°.ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅" Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² Π²Π°ΡΠ΅ΠΌ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ, ΠΊΠ°ΠΊ Π·Π°Π³ΡΡΠ·ΠΈΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python. ΠΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ requests Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ HTTP-Π·Π°ΠΏΡΠΎΡΠ° ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΡΠ°ΠΉΠ».
ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠ° ΡΡΠ°ΡΡΡ Π±ΡΠ»Π° ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΠΈ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² Python. Π£Π΄Π°ΡΠΈ Π² Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ!