• Сайт
  • Статус системы
  • API-документация
  • Блог
Telegram Icon Сообщество
RU
English
Português
Русский
中文 (中国)
Tiếng Việt
Войти Попробовать за 1,99 €
  • Сайт
  • Статус системы
  • API-документация
  • Блог
  • Telegram Icon Сообщество
  • Russian
    English
    Português
    Русский
    中文 (中国)
    Tiếng Việt
Войти Попробовать за 1,99 €

Настраиваемые Python-скрипты

Автоматизируйте процессы с помощью Python и Multilogin API. Создавайте, управляйте и запускайте браузерные профили с полностью настраиваемыми скриптами.

search icon

Связаться с нами

Если у вас остались вопросы или вы предпочитаете обратиться напрямую к специалисту, пожалуйста, отправьте запрос.
Мы свяжемся с вами как можно скорее.

Пожалуйста, заполните форму обратной связи ниже, и мы ответим вам как можно скорее.

  • Начало работы с автоматизацией в Multilogin X
  • Базовая автоматизация с CLI
  • Автоматизация без кода в Postman
  • Script runner и готовые скрипты
  • Puppeteer, Selenium и Playwright
  • Настраиваемые Python-скрипты
  • Быстрые решения с DevTools
  • Внешние инструменты автоматизации
  • Главная
  • breadcrumb separator bar
  • Multilogin X (новая версия)
  • breadcrumb separator bar
  • Автоматизация задач с API и скриптами
  • breadcrumb separator bar
  • Настраиваемые Python-скрипты
  • breadcrumb separator bar
  • Основы веб-скрейпинга с помощью Selenium

Основы веб-скрейпинга с помощью Selenium

Автор Anton L ( Обновлено 05 Декабря 2025 г. )

Обновлено 05 Декабря 2025 г.

Веб-скрейпинг — это процесс извлечения данных с различных страниц в интернете. Если вы хотите узнать, как начать скрейпинг данных с помощью профилей Multilogin — ознакомьтесь с шагами ниже, и вы научитесь писать простой скрипт!

Эта статья предназначена для пошагового создания вашего скрипта. Если вы хотите осмотреть полный скрипт — прокрутите статью до конца.

 

Шаг 1: подготовьте IDE или похожую программу

Для написания скрипта вам понадобится программа для его написания. Выбор за вами, но мы рекомендуем использовать IDE. Выполните первые 4 шага из следующей статьи: Начало работы со скриптами автоматизации.

Шаг 2: создайте скрипт подключения к API и задайте функции

На этом этапе вам нужно настроить работу скрипта с API. Скрипт будет включать в себя:

  • Эндпоинты API
  • Переменные для входа в аккаунт
  • Заданные функции для входа, открытия и закрытия профиля
  • Импортированные модули, включая requests, hashlib и time. Также будут включены некоторые модули, связанные с Selenium
  • Запрос на вход в учетную запись

Используйте для этого следующий шаблон:

import requests
import hashlib
import time
from selenium import webdriver
from selenium.webdriver.chromium.options import ChromiumOptions
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By

MLX_BASE = "https://api.multilogin.com"
MLX_LAUNCHER = "https://launcher.mlx.yt:45001/api/v1"
MLX_LAUNCHER_V2 = (
    "https://launcher.mlx.yt:45001/api/v2"  # recommended for launching profiles
)
LOCALHOST = "http://127.0.0.1"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}
# TODO: Insert your account information in both variables below
USERNAME = ""
PASSWORD = ""
# TODO: Insert the Folder ID and the Profile ID below
FOLDER_ID = ""
PROFILE_ID = ""


def signin() -> str:
    payload = {
        "email": USERNAME,
        "password": hashlib.md5(PASSWORD.encode()).hexdigest(),
    }
    r = requests.post(f"{MLX_BASE}/user/signin", json=payload)
    if r.status_code != 200:
        print(f"\nError during login: {r.text}\n")
    else:
        response = r.json()["data"]
    token = response["token"]
    return token


def start_profile() -> webdriver:
    r = requests.get(
        f"{MLX_LAUNCHER_V2}/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start?automation_type=selenium",
        headers=HEADERS,
    )
    response = r.json()
    if r.status_code != 200:
        print(f"\nError while starting profile: {r.text}\n")
    else:
        print(f"\nProfile {PROFILE_ID} started.\n")
    selenium_port = response["data"]["port"]
    driver = webdriver.Remote(
        command_executor=f"{LOCALHOST}:{selenium_port}", options=ChromiumOptions()
    )
    # For Stealthfox profiles use: options=Options()
    # For Mimic profiles use: options=ChromiumOptions()
    return driver


def stop_profile() -> None:
    r = requests.get(f"{MLX_LAUNCHER}/profile/stop/p/{PROFILE_ID}", headers=HEADERS)
    if r.status_code != 200:
        print(f"\nError while stopping profile: {r.text}\n")
    else:
        print(f"\nProfile {PROFILE_ID} stopped.\n")

token = signin()
HEADERS.update({"Authorization": f"Bearer {token}"})

Шаблон похож на пример автоматизации с Selenium, за исключением того, что в начале он имеет следующий модуль (он нам понадобится для извлечения данных):

from selenium.webdriver.common.by import By

 

Шаг 3: выберите веб-страницу для извлечения данных

Вы можете использовать любой веб-сайт, содержащий текст, но для этого руководства мы рекомендуем попробовать следующую страницу — она отлично подходит для автоматизации: Large & Deep DOM.

Шаг 4: найдите нужную информацию

В нашем случае это будут данные из таблицы ниже:

Интернет 2025-12-01 в 15:30.02

Мы получим все значения из таблицы. Вот что можно сделать:

  1. Откройте DevTools в браузере. Шаги для браузеров на базе Chromium и Firefox следующие:
    1. Windows и Linux: нажмите Ctrl + Shift + I
    2. macOS: нажмите Cmd + Option + I
  2. Убедитесь, что вы находитесь на вкладке «Элементы».
  3. Используйте горячую клавишу поиска, чтобы найти целевое значение.
    1. Windows и Linux: CTRL + F.
    2. macOS: Cmd + F.
  4. Введите текстовое значение, которое хотите увидеть. В нашем случае это «Table».
  5. Найдите значение, которое нужно использовать для скрейпинга. В нашем случае это будет следующее: <table id="large-table">.
  6. Наведите указатель мыши на элемент с тегами на вкладке «Элементы».
  7. Щелкните правой кнопкой мыши, а затем левой кнопкой мыши «Скопировать» — «Копировать selector».
  8. Запишите значение где-нибудь — оно понадобится вам позже.
Zight 2025-12-01 в 21.57.10

Шаг 5: вернитесь к IDE и добавьте новые строки кода

  1. Вернитесь к выбранному вами IDE (например, VS Code).
  2. Выберите поле кода и добавьте переменную для открытия и выполнения действий в профиле: driver = start_profile().
  3. Добавьте driver.get(“<ваш сайт>”). В нашем случае это будет следующая команда:
    driver.get("https://the-internet.herokuapp.com/large")
  4. Теперь нам нужна небольшая задержка для скрипта, чтобы он начал выполнять другие команды через 5 секунд после открытия веб-страницы: time.sleep(5).

Шаг 6: создайте скрипт для поиска элемента

Используйте эту команду для поиска элемента: driver.find_element(By.<атрибут на странице>, "<элемент>"). Она указывает скрипту, что искать на странице. Поскольку мы скопировали селектор CSS на шаге 4, ваша команда будет выглядеть так:

driver.find_element(By.ID, "large-table")

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

fetch = driver.find_element(By.ID, "large-table")

Шаг 7: выведите результат и остановите профиль

  1. Используйте функцию print() для вывода конечного результата. Поскольку нам нужно извлечь текстовое значение, нам нужно получить текст из нашей переменной. Результат будет следующим:
    print(fetch.text)
  2. Добавьте функцию остановки профиля в конце:
    stop_profile()
  3. Сохраните скрипт .py, его нужно будет запустить после некоторых дополнительных шагов.

Шаг 8: подготовьте скрипт перед его запуском

  1. Установите следующие библиотеки Python (более подробную информацию можно найти в документации вашего IDE):
    1. requests.
    2. selenium.
  2. Вставьте ваши значения в указанные ниже переменные скрипта:
    1. USERNAME: адрес электронной почты вашей учетной записи Multilogin X.
    2. PASSWORD: пароль вашей учетной записи Multilogin X (шифрование MD5 не требуется).
    3. FOLDER_ ID, PROFILE_ ID: найдите эти значения с помощью наших руководств по DevTools или Postman.

Шаг 9: запуск скрипта

  1. Откройте приложение для ПК (или подключите агент, если вы используете веб-интерфейс).
  2. По умолчанию скрипт ниже работает для Mimic . Чтобы использовать его для Stealthfox, замените options=ChromiumOptions() на options=Options() в следующей строке:
    driver = webdriver.Remote(command_executor=f'{LOCALHOST}:{selenium_port}', options=ChromiumOptions())
  3. Запустите файл .py с вашим кодом автоматизации.

Чтобы запустить скрипт в VS Code, нажмите «Выполнить» → «Запуск без отладки» (или «Запустить отладку»).

 

Если вы все сделали правильно, вы сможете увидеть результат в терминале. 
fetch.py 2025-12-02 в 16:39:25

Примечания

Поздравляем с вашим первым скриптом для скрейпинга! Вы не ограничены только этими возможностями. Python и Selenium — довольно гибкие инструменты, и у них есть большой потенциал. Вот пара советов:

  • Если вам необходимо извлечь несколько значений со схожими атрибутами (например, ID ), вы можете использовать следующую функцию:
    driver.find_elements(By.<атрибут на странице>, "<элемент>")
  • Вы можете добавить несколько значений в функцию print(). Подробнее об этом можно найти в Интернете. Например, можно добавить текст перед fetch.text. Это сделает результат скрипта более понятным. Так же это может быть полезным для отладки скрипта. Вот пример, который вы можете протестировать в скрипте:
    print("Your values: ", fetch.text)
  • Существует множество способов применения Selenium. Подробнее в справочном центре: Selenium Documentation

Целый скрипт

import requests
import hashlib
import time
from selenium import webdriver
from selenium.webdriver.chromium.options import ChromiumOptions
from selenium.webdriver.firefox.options import Options
from selenium.webdriver.common.by import By

MLX_BASE = "https://api.multilogin.com"
MLX_LAUNCHER = "https://launcher.mlx.yt:45001/api/v1"
MLX_LAUNCHER_V2 = (
    "https://launcher.mlx.yt:45001/api/v2"  # recommended for launching profiles
)
LOCALHOST = "http://127.0.0.1"
HEADERS = {"Accept": "application/json", "Content-Type": "application/json"}
# TODO: Insert your account information in both variables below
USERNAME = ""
PASSWORD = ""
# TODO: Insert the Folder ID and the Profile ID below
FOLDER_ID = ""
PROFILE_ID = ""


def signin() -> str:
    payload = {
        "email": USERNAME,
        "password": hashlib.md5(PASSWORD.encode()).hexdigest(),
    }
    r = requests.post(f"{MLX_BASE}/user/signin", json=payload)
    if r.status_code != 200:
        print(f"\nError during login: {r.text}\n")
    else:
        response = r.json()["data"]
    token = response["token"]
    return token


def start_profile() -> webdriver:
    r = requests.get(
        f"{MLX_LAUNCHER_V2}/profile/f/{FOLDER_ID}/p/{PROFILE_ID}/start?automation_type=selenium",
        headers=HEADERS,
    )
    response = r.json()
    if r.status_code != 200:
        print(f"\nError while starting profile: {r.text}\n")
    else:
        print(f"\nProfile {PROFILE_ID} started.\n")
    selenium_port = response["data"]["port"]
    driver = webdriver.Remote(
        command_executor=f"{LOCALHOST}:{selenium_port}", options=ChromiumOptions()
    )
    # For Stealthfox profiles use: options=Options()
    # For Mimic profiles use: options=ChromiumOptions()
    return driver


def stop_profile() -> None:
    r = requests.get(f"{MLX_LAUNCHER}/profile/stop/p/{PROFILE_ID}", headers=HEADERS)
    if r.status_code != 200:
        print(f"\nError while stopping profile: {r.text}\n")
    else:
        print(f"\nProfile {PROFILE_ID} stopped.\n")


token = signin()
HEADERS.update({"Authorization": f"Bearer {token}"})
driver = start_profile()
driver.get("https://the-internet.herokuapp.com/large")
time.sleep(5)
fetch = driver.find_element(By.ID, "large-table")
print(fetch.text)
stop_profile()

В этой статье содержатся сторонние ссылки, которые мы официально не одобряем.

 

Эта статья была полезной?

Оставить отзыв об этой статье

В этой статье:

  • Шаг 1: подготовьте IDE или похожую программу
  • Шаг 2: создайте скрипт подключения к API и задайте функции
  • Шаг 3: выберите веб-страницу для извлечения данных
  • Шаг 4: найдите нужную информацию
  • Шаг 5: вернитесь к IDE и добавьте новые строки кода
  • Шаг 6: создайте скрипт для поиска элемента
  • Шаг 7: выведите результат и остановите профиль
  • Шаг 8: подготовьте скрипт перед его запуском
  • Шаг 9: запуск скрипта
  • Примечания
  • Целый скрипт

Сообщество Multilogin

Будьте в курсе, делитесь своими мыслями и общайтесь с другими!

Telegram Icon Multilogin в Telegram

Статьи по теме

Blog Post Img

10 Best Datacenter Proxies for Web Scraping (2025 Edition)

Apr 2, 2025 5 min read
Google SERP Img

What is a Google SERP Proxy and Why Should You Care?

Apr 1, 2025 6 min read
UK Proxy Img

What Are Dedicated UK Proxies? Everything You Need to Know

Apr 1, 2025 6 min read
Related Article Title Icon

Похожие статьи

  • Как импортировать списки прокси с помощью Python
  • Как получить токены API с помощью Python
  • Как экспортировать данные прокси с помощью Python
  • Как войти в аккаунт Multilogin с помощью Python

АНТИДЕТЕКТ ПЛАТФОРМА

  • Антидетект браузер
  • Резидентские прокси
  • Мобильный антидетект
  • Headless браузер
  • Мультиаккаунтинг
  • Веб-автоматизация
  • Быстрые AI команды

МУЛЬТИАККАУНТИНГ

  • Мультиаккаунтинг в Facebook
  • Мультиаккаунтинг в Gmail
  • Мультиаккаунтинг в LinkedIn
  • Мультиаккаунтинг в Amazon
  • Мультиаккаунтинг в Onlyfans
  • Мультиаккаунтинг в Twitter
  • Мультиаккаунтинг в TikTok

ПРОКСИ ПО СТРАНАМ

  • Прокси Англия
  • Прокси США
  • Прокси Япония
  • Прокси Индия
  • Прокси Пакистан
  • Прокси Китай
  • Прокси Новая Зеландия

РЕСУРСЫ

  • База знаний
  • API документация
  • Глоссарий
  • Блог
  • Статус системы
  • Журнал изменений

СРАВНЕНИЕ

  • Multilogin vs. Gologin
  • Multilogin vs. Adspower
  • Multilogin vs. Dolphin Anty
  • Multilogin vs. Incognition
  • Multilogin vs. Octo Browser
  • Multilogin vs. Undetectable
  • Multilogin vs. MoreLogin

ПРОКСИ ДЛЯ ПЛАТФОРМ

  • Мобильные прокси
  • Прокси для Reddit
  • Прокси для Facebook
  • SOCKS5 прокси
  • Прокси для Instagram
  • Прокси для Onlyfans
  • Прокси для LinkedIn

БЕСПЛАТНЫЕ УТИЛИТЫ

  • URL конвертер в текст

СВЯЗАТЬСЯ С НАМИ

  • Служба поддержки 24/7
    [email protected]
  • Отдел продаж
  • Реферальная программа
  • Партнерская программа
  • Цены
  • Вакансии

© 2025 Multilogin. Все права защищены.

  • Политика приватности
  • Условия использования
  • Политика использования cookie файлов
Multilogin abstract watermark
  • АНТИДЕТЕКТ ПЛАТФОРМА

    • Антидетект браузер
    • Резидентские прокси
    • Мобильный антидетект
    • Headless браузер
    • Мультиаккаунтинг
    • Веб-автоматизация
    • Быстрые AI команды
  • МУЛЬТИАККАУНТИНГ

    • Мультиаккаунтинг в Facebook
    • Мультиаккаунтинг в Gmail
    • Мультиаккаунтинг в LinkedIn
    • Мультиаккаунтинг в Amazon
    • Мультиаккаунтинг в Onlyfans
    • Мультиаккаунтинг в Twitter
    • Мультиаккаунтинг в TikTok
  • ПРОКСИ ПО СТРАНАМ

    • Прокси Англия
    • Прокси США
    • Прокси Япония
    • Прокси Индия
    • Прокси Пакистан
    • Прокси Китай
    • Прокси Новая Зеландия
  • РЕСУРСЫ

    • База знаний
    • API документация
    • Глоссарий
    • Блог
    • Статус системы
    • Журнал изменений
  • СРАВНЕНИЕ

    • Multilogin vs. Gologin
    • Multilogin vs. Adspower
    • Multilogin vs. Dolphin Anty
    • Multilogin vs. Incognition
    • Multilogin vs. Octo Browser
    • Multilogin vs. Undetectable
    • Multilogin vs. MoreLogin
  • ПРОКСИ ДЛЯ ПЛАТФОРМ

    • Мобильные прокси
    • Прокси для Reddit
    • Прокси для Facebook
    • SOCKS5 прокси
    • Прокси для Instagram
    • Прокси для Onlyfans
    • Прокси для LinkedIn
  • БЕСПЛАТНЫЕ УТИЛИТЫ

    • URL конвертер в текст
  • СВЯЗАТЬСЯ С НАМИ

    • Служба поддержки 24/7
      [email protected]
    • Отдел продаж
    • Реферальная программа
    • Партнерская программа
    • Цены
    • Вакансии
Multilogin abstract watermark
  • Политика приватности
  • Условия использования
  • Политика использования cookie файлов

© 2025 Multilogin. Все права защищены.

Expand