πŸ”’ Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΈ Python? 🐍

Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium Π² Python?

ΠšΠ°ΠΏΡ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΈ использовании Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium Π² Python, Π½ΠΎ Π΅ΡΡ‚ΡŒ нСсколько способов ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π΅Π΅. Π’ΠΎΡ‚ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ²:


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΈ настроим Π²Π΅Π±-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€
driver = webdriver.Chrome()
driver.get("https://www.example.com")

# ОТидаСм Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ элСмСнта с ΠΊΠ°ΠΏΡ‡Π΅ΠΉ
captcha_element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.XPATH, "//input[@id='captcha']"))
)

# Π’Π²ΠΎΠ΄ΠΈΠΌ Ρ„Π΅ΠΉΠΊΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΏΡ‡Ρƒ
captcha_element.send_keys("fake_answer")

# НаТимаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹
submit_button = driver.find_element(By.XPATH, "//button[@id='submit']")
submit_button.click()

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Selenium ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ оТидания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ элСмСнта с ΠΊΠ°ΠΏΡ‡Π΅ΠΉ. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ Π²Π²ΠΎΠ΄ΠΈΠΌ Ρ„Π΅ΠΉΠΊΠΎΠ²Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° ΠΊΠ°ΠΏΡ‡Ρƒ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… способов ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ, ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²ΠΈΡΠ΅Ρ‚ΡŒ ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠ°ΠΏΡ‡ΠΈ ΠΈ сайта. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΎ соблюдСнии ΠΏΡ€Π°Π²ΠΈΠ» использования сайта ΠΈ Π·Π°ΠΊΠΎΠ½ΠΎΠ² ΠΎ Π·Π°Ρ‰ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ.

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

Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΈ Python?

Когда Π²Ρ‹ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ процСссы Π²Π΅Π±-скрапинга ΠΈΠ»ΠΈ тСстирования с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΈ Python, Π²Ρ‹ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΊΠ°ΠΏΡ‡ΠΈ. ΠšΠ°ΠΏΡ‡Π° - это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π»ΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π±ΠΎΡ‚ΠΎΠΌ. Однако, Ссли Π²Ρ‹ Π²Π»Π°Π΄Π΅Π»Π΅Ρ† сайта ΠΈΠ»ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ свою систСму, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ для автоматичСской ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

Π¨Π°Π³ 1: Установка

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Π΅ΠΌ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас установлСн Selenium ΠΈ Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

pip install selenium

Π’Π°ΠΊΠΆΠ΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Π²Π΅Π±-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ соотвСтствуСт Π²Π°ΡˆΠ΅ΠΌΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ. НапримСр, Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Google Chrome, Π²Π°ΠΌ понадобится ChromeDriver. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта ChromeDriver.

Π¨Π°Π³ 2: Π˜ΠΌΠΏΠΎΡ€Ρ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΈ созданиС Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°

ПослС установки Selenium ΠΈ Python, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ:

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

Π—Π°Ρ‚Π΅ΠΌ создайтС экзСмпляр Π²Π΅Π±-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°, ΡƒΠΊΠ°Π·Π°Π² ΠΏΡƒΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ Π²Π΅Π±-Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ:

driver = webdriver.Chrome('ΠΏΡƒΡ‚ΡŒ_ΠΊ_Π²Π°ΡˆΠ΅ΠΌΡƒ_Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρƒ')

Π¨Π°Π³ 3: Настройка оТидания

ΠšΠ°ΠΏΡ‡Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π½Π° страницС Π² любоС врСмя, поэтому Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Π½Π΅ выполнял дСйствия Π΄ΠΎ появлСния ΠΊΠ°ΠΏΡ‡ΠΈ. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ класс WebDriverWait:

wait = WebDriverWait(driver, 10)

Π—Π΄Π΅ΡΡŒ 10 - это максимальноС врСмя оТидания Π² сСкундах.

Π¨Π°Π³ 4: ΠžΠ±Ρ…ΠΎΠ΄ ΠΊΠ°ΠΏΡ‡ΠΈ

Когда ΠΊΠ°ΠΏΡ‡Π° появляСтся Π½Π° страницС, Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько способов ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π΅Π΅. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹:

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: Π’Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ

ΠŸΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΠΉ способ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ - ввСсти Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Но для этого Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ИспользованиС стороннСго сСрвиса ΠΊΠ°ΠΏΡ‡ΠΈ

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ сторонниС сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π·Π° вас. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ API этих сСрвисов, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅. НСкоторыС популярныС сСрвисы Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ RuCaptcha, AntiCaptcha ΠΈ 2Captcha.

ΠœΠ΅Ρ‚ΠΎΠ΄ 3: ИспользованиС машинного обучСния

Если Ρƒ вас Π΅ΡΡ‚ΡŒ достаточноС количСство ΠΊΠ°ΠΏΡ‡Π΅ΠΉ ΠΈ Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΌ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡƒΡ‡ΠΈΡ‚ΡŒ модСль Π½Π° основС этих ΠΊΠ°ΠΏΡ‡Π΅ΠΉ. МодСль смоТСт Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ автоматичСски ΠΈ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· вашСго участия.

ΠœΠ΅Ρ‚ΠΎΠ΄ 4: ИспользованиС OCR

OCR (Optical Character Recognition) - это тСхнология, которая позволяСт ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ тСкст Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Tesseract, для распознавания ΠΊΠ°ΠΏΡ‡ΠΈ ΠΈ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… автоматичСски.

Π¨Π°Π³ 5: ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ дСмонстрируСт, ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° 2 (использованиС стороннСго сСрвиса ΠΊΠ°ΠΏΡ‡ΠΈ) ΠΈ API RuCaptcha:

import requests

# ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ Π½Π° RuCaptcha ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅
def solve_captcha(url):
    r = requests.get('http://rucaptcha.com/in.php', params={'key': 'YOUR_API_KEY', 'method': 'post', 'body': url})
    captcha_id = r.text.split('|')[1]  # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠ°ΠΏΡ‡ΠΈ
    solution = ''
    while solution == '':
        r = requests.get('http://rucaptcha.com/res.php', params={'key': 'YOUR_API_KEY', 'method': 'get', 'id': captcha_id})
        if r.text != 'CAPCHA_NOT_READY':
            solution = r.text.split('|')[1]  # ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ
    return solution

# ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ страницу, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΏΡ‡Π°
driver.get('https://example.com')

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΊΠ°ΠΏΡ‡Π° Π½Π° страницС
captcha_element = driver.find_element(By.CLASS_NAME, 'captcha')
if captcha_element:
    # ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ
    captcha_image = captcha_element.find_element(By.TAG_NAME, 'img').get_attribute('src')

    # Π Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΏΡ‡Ρƒ
    captcha_solution = solve_captcha(captcha_image)

    # ВвСсти Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠ°ΠΏΡ‡ΠΈ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°
    captcha_input = driver.find_element(By.NAME, 'captcha')
    captcha_input.send_keys(captcha_solution)

# Π”Π°Π»ΡŒΡˆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ дСйствия...

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ API RuCaptcha для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΊΠ°ΠΏΡ‡ΠΈ. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° ΠΈΡ… сайтС, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ API-ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ "YOUR_API_KEY" Π² ΠΊΠΎΠ΄Π΅ Π½Π° ваш ΠΊΠ»ΡŽΡ‡.

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

ΠžΠ±Ρ…ΠΎΠ΄ ΠΊΠ°ΠΏΡ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΈ Python ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ слоТной Π·Π°Π΄Π°Ρ‡Π΅ΠΉ, Π½ΠΎ с ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΌΠΈ инструмСнтами ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠΌ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ±Ρ…ΠΎΠ΄ ΠΊΠ°ΠΏΡ‡ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ Π½Π°Ρ€ΡƒΡˆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° использования сайта, поэтому ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ.

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΈ Python. Π£Π΄Π°Ρ‡ΠΈ Π² Π²Π°ΡˆΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ!

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

ΠžΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ парсингу Π½Π° Python | ΠŸΠ°Ρ€ΡΠΈΠ½Π³ Π±Π΅Π· обнаруТСния | ΠŸΠ°Ρ€ΡΠΈΠ½Π³ CloudFlare | Selenium, CloudFlare

Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ. Π’Π·Π»ΠΎΠΌ сайта

Π’Π·Π»ΠΎΠΌΠ°ΠΉ reCAPTCHA V2: РаскрываСм сСкрСты Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ

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

πŸ”₯ Как Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π² Python: совСты ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ πŸ”₯

Π§Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ import sys Π² Python? 🐍

5 простых способов ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½Ρ‹Ρ… скобок Π² Python 🐍

πŸ”’ Как ΠΎΠ±ΠΎΠΉΡ‚ΠΈ ΠΊΠ°ΠΏΡ‡Ρƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Selenium ΠΈ Python? 🐍

Как обозначаСтся пустая строка Π² Python? 🐍✍️

πŸ”₯Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π² Python PyCharm: простой Π³ΠΈΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…!

πŸ”’ Как Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡˆΠΈΡ„Ρ€ Π’ΠΈΠΆΠ΅Π½Π΅Ρ€Π° Π½Π° ΠŸΠΈΡ‚ΠΎΠ½Π΅: простоС руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ