π½ ΠΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ? Π‘Π΅ΠΊΡΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Selenium Π² Python π½
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Selenium ΠΈ Python, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ:
- Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Selenium Π΄Π»Ρ Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
pip install selenium
. - ΠΠ°Π³ΡΡΠ·ΠΈΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Chrome ΠΈΠ»ΠΈ Firefox), ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΡΠΉ Ρ Π²Π°ΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Π±ΡΠ°ΡΠ·Π΅ΡΠ°.
- ΠΠΌΠΏΠΎΡΡΠΈΡΡΠΉΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
- Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° Π΄Π»Ρ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π±ΡΠ°ΡΠ·Π΅ΡΠ°:
driver = webdriver.Chrome() # ΠΠ»Ρ Chrome
ΠΈΠ»ΠΈ
driver = webdriver.Firefox() # ΠΠ»Ρ Firefox
- ΠΡΠΊΡΠΎΠΉΡΠ΅ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΠΊΠΎΡΠΎΡΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ:
driver.get("https://www.example.com/page-with-image")
- ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΡΠ΅Π»Π΅ΠΊΡΠΎΡ:
image_element = driver.find_element_by_css_selector("img.my-image")
- Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ, ΠΏΠΎΠ»ΡΡΠΈΠ² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π°ΡΡΠΈΠ±ΡΡΠ°
src
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
image_url = image_element.get_attribute("src")
ΠΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ:
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Requests Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅:
import requests
response = requests.get(image_url)
with open("image.jpg", "wb") as file:
file.write(response.content)
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ°, ΡΠΊΠ°ΡΠ°Π½Π½Π°Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Selenium ΠΈ Python!
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Selenium ΠΈ Python
Π§ΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Selenium ΠΈ ΡΠ·ΡΠΊΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Python, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°Π³ΠΈ.
1. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ
ΠΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, ΡΠ±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ Ρ Π²Π°Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ:
- Python: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Python Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ°ΠΉΡΠ°.
- Selenium: Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Selenium Π΄Π»Ρ Python Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
pip install selenium
. - WebDriver: Π‘ΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ WebDriver Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ Π²Π°ΠΌΠΈ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅ΡΠΎΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Chrome Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ChromeDriver, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ Π½Π° ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΡΠ΅ ChromeDriver.
2. ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ², Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄, ΡΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ:
from selenium import webdriver
import urllib.request
# ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°
driver = webdriver.Chrome('ΠΏΡΡΡ_ΠΊ_ChromeDriver/chromedriver')
# ΠΠ΅ΡΠ΅ΠΉΡΠΈ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ
driver.get('URL_Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ_Ρ_ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ')
# ΠΠ°ΠΉΡΠΈ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ
image_element = driver.find_element_by_css_selector('CSS_ΡΠ΅Π»Π΅ΠΊΡΠΎΡ_ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ')
# ΠΠΎΠ»ΡΡΠΈΡΡ URL ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ
image_url = image_element.get_attribute('src')
# Π‘ΠΊΠ°ΡΠ°ΡΡ ΠΈ ΡΠΎΡ
ΡΠ°Π½ΠΈΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
urllib.request.urlretrieve(image_url, 'ΠΏΡΡΡ_Π΄Π»Ρ_ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΡ_ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ')
# ΠΠ°ΠΊΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ
driver.quit()
Π ΡΡΠΎΠΌ ΠΊΠΎΠ΄Π΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Selenium Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ. ΠΡ ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΡΠ΅ΠΌ Π΄ΡΠ°ΠΉΠ²Π΅Ρ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ChromeDriver), ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ Π½Π° Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ, Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ Ρ ΠΏΠΎΠΌΠΎΡΡΡ CSS-ΡΠ΅Π»Π΅ΠΊΡΠΎΡΠ°, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ URL ΡΡΠΎΠΉ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΈ, Π° Π·Π°ΡΠ΅ΠΌ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅ΠΌ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ Π΅Π΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
3. ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΊΠΎΠ΄ ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ
ΠΠΎΡΠ»Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΠΊΠΎΠ΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ, ΡΡΠΎΠ±Ρ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ. Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ ΠΏΡΡΡ ΠΊ ChromeDriver ΡΠΊΠ°Π·Π°Π½ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ, Π° URL Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ Ρ ΠΊΠ°ΡΡΠΈΠ½ΠΊΠΎΠΉ Π·Π°ΠΌΠ΅Π½Π΅Π½ Π½Π° ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ URL.
ΠΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΠΊΠ°ΡΡΠΈΠ½ΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°ΡΠ°Π½Π° ΠΈ ΡΠΎΡ ΡΠ°Π½Π΅Π½Π° Π² ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ ΠΌΠ΅ΡΡΠ΅ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΊΠ°ΡΠ°ΡΡ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Selenium ΠΈ Python. Π‘Π»Π΅Π΄ΡΠΉΡΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π²ΡΡΠ΅ ΡΠ°Π³Π°ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ Ρ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡ.