Добро пожаловать! Игровой форум WLUX.NET - Игры, Читы, Скрипты, Статьи, Софт, Курсы.

Присоединяйтесь к нам сейчас, чтобы получить доступ ко всем нашим функциям. После регистрации и входа в систему вы сможете создавать темы, публиковать ответы на существующие темы, повышать репутацию участников, скачивать вложения и файлы и многое, многое другое. Так чего же вы ждете?

Добро пожаловать гость!

Приветствуем вас на нашем форуме! Мы очень рады вас видеть и с большим удовольствием поделимся всей информацией нашего форума!

Мы уважаем своих пользователей и так же ждем от вас приятного общения.

Система наград, ежедневное пополнения тем!

Общайся, получай награды.

Статьи, гайды, софт

У нас вы можете скачать бесплатно читы для игр. Полезные гайды на любые темы и схемы заработка. Есть раздел халявы!

FAQ по форуму

Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

  • Добро пожаловать на сайт - wlux.net!

    FAQ по форуму

    1. Все сообщения до группы местный проходят модерацию от 1 минуты до 24 часа

    2. Сообщения учитываються в следующих разделах: Читать

    3.Что-бы скачать вложение нужно 2 сообщения.

    4.Личные переписки работают только с Администрацией форума

    5. Запрещено: Просить скрытый текст , спам, реклама, скам, ддос, кардинг и другая чернуха, нарушать любые законы РФ/СНГ = бан аккаунта

    6. Внимание! Мы не удаляем аккаунты с форума! Будьте внимательны ДО регистрации! Как удалить аккаунт на форуме?!

    5.Не понимаю, как и что тут работает у вас?!Как создавать темы, писать сообщения, как получать реакции. Почему не засчитывает сообщения. Все ответы здесь

python Гайд Ваш первый парсер на python. Ч3. Работа с либой Selenium. Продвинутый обход защиты от роботов

sunilia Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

Всем привет
Это третья часть гайда по парсеру на пайтон.
Сегодня расскжу про селениум, т.к. именно использование драйвера браузера помогает обходить ещё больше блокировок.

Установка Selenium
Для начала работы с Selenium необходимо установить библиотеку. Используйте следующую команду:

Bash:
 pip install selenium

Также вам понадобится драйвер для выбранного браузера (например, ChromeDriver для Google Chrome). Для установки ChromeDriver на Ubuntu или MacOS можно воспользоваться командой:

Bash:
 sudo apt-get install chromium-chromedriver

Для Windows загрузите ChromeDriver с официального сайта и добавьте его в переменную окружения PATH.

Простой пример использования Selenium
Допустим, вы хотите автоматизировать открытие страницы Google и ввод поискового запроса. Пример кода:

Python:
 from selenium import webdriver
 from selenium.webdriver.common.keys import Keys

#Указываем путь к драйверу, если он не в PATH
driver = webdriver.Chrome()

#Открываем страницу Google
driver.get("https://www.google.com")

#Находим поле для ввода текста по его имени
search_box = driver.find_element("name", "q")

#Вводим запрос
search_box.send_keys("Selenium Python") search_box.send_keys(Keys.RETURN)

#Закрываем браузер
driver.quit()

В этом примере мы:

Открыли браузер и перешли на сайт Google.
Нашли элемент поля ввода по его атрибуту name="q".
Ввели текст в поле и отправили запрос.
Закрыли браузер.
Управление элементами на странице
Selenium предоставляет широкий набор методов для взаимодействия с элементами веб-страницы, такими как кнопки, чекбоксы, выпадающие списки и т.д. Например, чтобы кликнуть по кнопке:

Python:
 from selenium import webdriver

driver = webdriver.Chrome()

#Открываем страницу
driver.get("https://www.example.com")

#Находим кнопку по её ID и кликаем по ней
button = driver.find_element("id", "submit_button") button.click()

driver.quit()

Ожидание загрузки элементов
Иногда необходимо подождать, пока элемент появится на странице, например, при динамической подгрузке данных. Selenium поддерживает явные и неявные ожидания.

Неявные ожидания
Неявные ожидания позволяют Selenium подождать заданное количество времени перед тем, как выбросить исключение при отсутствии элемента:

Python:
 from selenium import webdriver

driver = webdriver.Chrome()

#Устанавливаем неявное ожидание на 10 секунд
driver.implicitly_wait(10)

driver.get("https://www.example.com") search_box = driver.find_element("name", "q")

driver.quit()

Явные ожидания
Явные ожидания позволяют ожидать конкретного условия, например, когда элемент станет кликабельным:

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")

# Ожидаем, пока элемент не станет кликабельным (максимум 10 секунд)
element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.ID, "submit_button")) ) element.click()

driver.quit()

Скриншоты страницы
Selenium также позволяет делать скриншоты страницы, что полезно для тестирования:

Python:
 from selenium import webdriver

driver = webdriver.Chrome() driver.get("https://www.example.com")

# Делаем скриншот и сохраняем его
driver.save_screenshot("screenshot.png")

driver.quit()

Работа с выпадающими списками
Для работы с выпадающими списками можно использовать класс Select. Пример:

Python:
 from selenium import webdriver
 from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome() 
driver.get("https://www.example.com")

# Находим выпадающий список по его ID
dropdown = Select(driver.find_element("id", "dropdown"))

# Выбираем опцию по видимому тексту
dropdown.select_by_visible_text("Option 1")

driver.quit()
Эти методы помогут вам обойти "активную" защиты от роботов, такую как проверка js скриптов
 
M Оффлайн

mistral

Местный
Участник
LV
2
 
17.09.2024
36
0
20
Награды
3

Репутация:

Спасибо за гайды!
Очень жду гайдов для обхода более сложной защиты
по типу CAPTCHA от google 🙃
 
N Оффлайн

NilatB

Участник
LV
3
 
03.09.2024
3
0
11
Награды
3
34

Репутация:

Гайд топ. Ни раз сталкивался с защитой и приходилось кастылять что-то, а тут сразу нашел то что мне было еще давно нужно!
 
TBoU_[b]aTR Оффлайн

TBoU_[b]aTR

Местный
Участник
LV
3
 
07.09.2024
510
2
38
Награды
6
Пол
Муж.

Репутация:

Базированный гайд по selenium, для большей конфиденциальности можно заменить chromedriver на geckodriver и накачать расширений типа uBlock
 
A Оффлайн

aniflagg

Участник
LV
0
 
22.09.2024
2
0
5
25

Репутация:

Интересный гайд. Буду ждать ещё
 
F Оффлайн

fffffefv

Участник
LV
0
 
22.09.2024
1
0
5
24

Репутация:

Гайд топ очень понравился
 
M Оффлайн

marci2907

Участник
LV
2
 
26.12.2023
9
0
24
Награды
2
23

Репутация:

Всем привет
Это третья часть гайда по парсеру на пайтон.
Сегодня расскжу про селениум, т.к. именно использование драйвера браузера помогает обходить ещё больше блокировок.

Установка Selenium
Для начала работы с Selenium необходимо установить библиотеку. Используйте следующую команду:

Bash:
 pip install selenium

Также вам понадобится драйвер для выбранного браузера (например, ChromeDriver для Google Chrome). Для установки ChromeDriver на Ubuntu или MacOS можно воспользоваться командой:

Bash:
 sudo apt-get install chromium-chromedriver

Для Windows загрузите ChromeDriver с официального сайта и добавьте его в переменную окружения PATH.

Простой пример использования Selenium
Допустим, вы хотите автоматизировать открытие страницы Google и ввод поискового запроса. Пример кода:

Python:
 from selenium import webdriver
 from selenium.webdriver.common.keys import Keys

#Указываем путь к драйверу, если он не в PATH
driver = webdriver.Chrome()

#Открываем страницу Google
driver.get("https://www.google.com")

#Находим поле для ввода текста по его имени
search_box = driver.find_element("name", "q")

#Вводим запрос
search_box.send_keys("Selenium Python") search_box.send_keys(Keys.RETURN)

#Закрываем браузер
driver.quit()

В этом примере мы:

Открыли браузер и перешли на сайт Google.
Нашли элемент поля ввода по его атрибуту name="q".
Ввели текст в поле и отправили запрос.
Закрыли браузер.
Управление элементами на странице
Selenium предоставляет широкий набор методов для взаимодействия с элементами веб-страницы, такими как кнопки, чекбоксы, выпадающие списки и т.д. Например, чтобы кликнуть по кнопке:

Python:
 from selenium import webdriver

driver = webdriver.Chrome()

#Открываем страницу
driver.get("https://www.example.com")

#Находим кнопку по её ID и кликаем по ней
button = driver.find_element("id", "submit_button") button.click()

driver.quit()

Ожидание загрузки элементов
Иногда необходимо подождать, пока элемент появится на странице, например, при динамической подгрузке данных. Selenium поддерживает явные и неявные ожидания.

Неявные ожидания
Неявные ожидания позволяют Selenium подождать заданное количество времени перед тем, как выбросить исключение при отсутствии элемента:

Python:
 from selenium import webdriver

driver = webdriver.Chrome()

#Устанавливаем неявное ожидание на 10 секунд
driver.implicitly_wait(10)

driver.get("https://www.example.com") search_box = driver.find_element("name", "q")

driver.quit()

Явные ожидания
Явные ожидания позволяют ожидать конкретного условия, например, когда элемент станет кликабельным:

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")

# Ожидаем, пока элемент не станет кликабельным (максимум 10 секунд)
element = WebDriverWait(driver, 10).until( EC.element_to_be_clickable((By.ID, "submit_button")) ) element.click()

driver.quit()

Скриншоты страницы
Selenium также позволяет делать скриншоты страницы, что полезно для тестирования:

Python:
 from selenium import webdriver

driver = webdriver.Chrome() driver.get("https://www.example.com")

# Делаем скриншот и сохраняем его
driver.save_screenshot("screenshot.png")

driver.quit()

Работа с выпадающими списками
Для работы с выпадающими списками можно использовать класс Select. Пример:

Python:
 from selenium import webdriver
 from selenium.webdriver.support.ui import Select

driver = webdriver.Chrome()
driver.get("https://www.example.com")

# Находим выпадающий список по его ID
dropdown = Select(driver.find_element("id", "dropdown"))

# Выбираем опцию по видимому тексту
dropdown.select_by_visible_text("Option 1")

driver.quit()
Эти методы помогут вам обойти "активную" защиты от роботов, такую как проверка js скриптов
Спасибо, очень полезно и информативно
 
sunilia Оффлайн

sunilia 

Проверенный
Местный
LV
3
 
14.09.2024
78
5
18
Награды
5

Репутация:

Базированный гайд по selenium, для большей конфиденциальности можно заменить chromedriver на geckodriver и накачать расширений типа uBlock
Что подразумеваете под большей конфиденциальностью?
Лучший вариант - использовать прокси/впн
А так у вас никакие данные ниоткуда не подтянутся, драйвер же открывается сессионно
Или это не так работает?
 
TBoU_[b]aTR Оффлайн

TBoU_[b]aTR

Местный
Участник
LV
3
 
07.09.2024
510
2
38
Награды
6
Пол
Муж.

Репутация:

Что подразумеваете под большей конфиденциальностью?
Лучший вариант - использовать прокси/впн
А так у вас никакие данные ниоткуда не подтянутся, драйвер же открывается сессионно
Или это не так работает?
Если драйвер одновременно используется для парсинга разных сайтов или сайтов с обилием рекламных метрик, притом требуется оставлять как можно меньше информации о себе, то неплохо бы подключать различные "конфиденциальные" расширения Firefox, например, uBlock, Canvas Defender или Switch UserAgent. Более того, почти никто не пользуется браузерами без расширений, их наличие в парсере — дополнение робота, и так великолепно имитирующего поведение человека в интернете, до состояния, почти неотличимого от человеческого
 
duddos33 Оффлайн

duddos33

Местный
Участник
LV
3
 
22.09.2024
60
5
23
Награды
5
25

Репутация:

полезная инфа, автору респект
 
K Оффлайн

kadattal

Участник
LV
2
 
03.09.2024
4
0
9
Награды
2
25

Репутация:

Так это получается можно еще и ботов делать, которые не просто запросы шлют. Круто круто!
 

Поиск по форуму

shape1
shape2
shape3
shape4
shape7
shape8
Верх