Як використовувати браузер з відбитками AdsPower з Python

Швидкий огляд

Дізнайтеся, як автоматизувати браузер з відбитками AdsPower за допомогою Python через HTTP API, Selenium та протокол MCP. Покроковий посібник із прикладами коду.

Як використовувати браузер з відбитками AdsPower з Python

Управління кількома онлайн-акаунтами без блокувань платформи є постійним викликом для продавців на e-commerce, афіліат-маркетологів та менеджерів соціальних мереж. Браузер з відбитками AdsPower вирішує проблему ізоляції відбитків, але ручне відкриття та керування десятками профілів браузера є виснажливим. Тут на допомогу приходить Python.

Поєднуючи локальний API AdsPower зі скриптами Python, ви можете автоматизувати весь життєвий цикл профілів браузера — створення, відкриття, керування та закриття програмним шляхом. Цей посібник проведе вас через практичні кроки, від базових викликів API до розширеної автоматизації за допомогою Selenium та протоколу MCP.

Чому варто автоматизувати AdsPower з Python?

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python.

AdsPower надає ізольовані середовища браузера з унікальними цифровими відбитками, але його графічний інтерфейс призначений для ручної роботи. Python додає шар автоматизації, який дозволяє:

  • Створювати та налаштовувати профілі браузера масово – Автоматично налаштовувати сотні профілів з різними проксі, відбитками та файлами cookie.
  • Керувати діями браузера програмно – Переходити за URL-адресами, заповнювати форми, натискати кнопки та збирати дані без втручання людини.
  • Інтегрувати з існуючими робочими процесами – Підключати AdsPower до ваших конвеєрів даних на Python, систем моніторингу або AI-агентів.
  • Масштабувати управління акаунтами – Виконувати одночасні операції в кількох профілях браузера з одного скрипта.

Розуміння локального API AdsPower

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python.

AdsPower надає локальний HTTP API, який працює на вашому комп'ютері. За замовчуванням він слухає на http://127.0.0.1:50325 (або 50360 залежно від версії). Цей API дозволяє керувати профілями браузера та екземплярами браузера.

Ключові кінцеві точки API

Кінцева точка Метод Призначення
/api/v1/user/list GET Список усіх профілів браузера
/api/v1/user/create POST Створення нового профілю браузера
/api/v1/browser/start GET Запуск профілю браузера та отримання порту налагодження
/api/v1/browser/stop GET Зупинка запущеного екземпляра браузера
/api/v1/user/update POST Оновлення деталей профілю, таких як примітка або проксі
/api/v1/group/list GET Список груп профілів

Усі виклики API здійснюються до http://127.0.0.1:<port>. Порт залежить від налаштувань AdsPower (за замовчуванням 50325 для новіших версій).

Передумови

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python.

Перш ніж писати код, переконайтеся, що у вас є:

  • Встановлений AdsPower – Завантажте з adspower.net та створіть принаймні один профіль браузера.
  • Python 3.8+ встановлений на вашій системі.
  • Необхідні пакети Python – Встановіть requests та, за бажанням, selenium або playwright.
pip install requests selenium
  • Увімкнений локальний API AdsPower – Перейдіть до Налаштування AdsPower > Налаштування API та запам'ятайте номер порту. Залиште порт за замовчуванням або змініть його за потреби.

Крок 1: Список профілів браузера за допомогою Python

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python

Інтерфейс продукту та огляд функцій How to Use AdsPower Fingerprint Browser with Python.

Перший крок — перевірити, чи ваш скрипт Python може спілкуватися з AdsPower. Почніть зі списку всіх існуючих профілів браузера.

import requests

# Базовий URL локального API AdsPower
base_url = "http://127.0.0.1:50325"

# Отримати список усіх профілів браузера
response = requests.get(f"{base_url}/api/v1/user/list", params={"page": 1, "page_size": 100})
profiles = response.json()

if profiles["code"] == 0:
    for profile in profiles["data"]["list"]:
        print(f"ID: {profile['user_id']}, Ім'я: {profile['name']}, Проксі: {profile.get('proxy', 'Немає')}")
else:
    print("Помилка:", profiles["msg"])

Цей скрипт повертає ідентифікатор користувача, ім'я та конфігурацію проксі для кожного профілю. user_id є важливим для подальших операцій.

Крок 2: Створення нового профілю браузера з проксі

Створення профілю програмним шляхом дозволяє призначати унікальні проксі та налаштування відбитків. Нижче наведено приклад створення профілю з вказаним проксі SOCKS5.

import requests
import json

base_url = "http://127.0.0.1:50325"

# Конфігурація проксі
proxy_config = {
    "proxy_type": "socks5",
    "proxy_host": "192.168.1.100",
    "proxy_port": "1080",
    "proxy_user": "username",
    "proxy_password": "password"
}

# Дані профілю
profile_data = {
    "name": "Мій автоматизований профіль",
    "group_id": "",  # необов'язково: призначити до групи
    "proxy_config": proxy_config,
    "fingerprint_config": {
        "language": ["uk-UA"],
        "timezone": "Europe/Kyiv",
        "resolution": "1920x1080"
    }
}

response = requests.post(f"{base_url}/api/v1/user/create", json=profile_data)
result = response.json()

if result["code"] == 0:
    print(f"Профіль успішно створено. ID: {result['data']['id']}")
else:
    print(f"Не вдалося створити профіль: {result['msg']}")

Ви можете налаштувати параметри відбитків, такі як WebGL, Canvas, Audio та WebRTC, додавши їх до fingerprint_config.

Крок 3: Запуск профілю браузера та отримання порту налагодження

Щоб керувати екземпляром браузера, спочатку потрібно його запустити та отримати порт віддаленого налагодження. API AdsPower повертає debug_port, який можна використовувати з Selenium або Playwright.

import requests

base_url = "http://127.0.0.1:50325"
user_id = "your_profile_id_here"  # замініть на фактичний ID

# Запуск браузера
response = requests.get(f"{base_url}/api/v1/browser/start", params={"user_id": user_id})
result = response.json()

if result["code"] == 0:
    debug_port = result["data"]["debug_port"]
    print(f"Браузер запущено. Порт налагодження: {debug_port}")
    # Тепер можна підключити Selenium до цього порту
else:
    print(f"Не вдалося запустити браузер: {result['msg']}")

debug_port є ключем для підключення зовнішніх інструментів автоматизації.

Крок 4: Керування браузером за допомогою Selenium

Отримавши порт налагодження, ви можете приєднати Selenium до вже запущеного екземпляра браузера. Це зберігає унікальний відбиток, дозволяючи повну автоматизацію.

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Використовуйте порт налагодження з попереднього кроку
debug_port = "12345"  # замініть на фактичний порт

chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", f"127.0.0.1:{debug_port}")

driver = webdriver.Chrome(options=chrome_options)

# Тепер ви можете керувати браузером
driver.get("https://example.com")
print(driver.title)

# Виконайте дії, такі як вхід, заповнення форм тощо.
# ...

driver.quit()

Цей підхід ідеально підходить для завдань, які вимагають взаємодії, подібної до людської, наприклад, вхід в акаунти соціальних мереж або подання форм на платформах e-commerce.

Крок 5: Автоматизація повного робочого процесу

Давайте об'єднаємо все в практичний приклад: створення профілю, його запуск, вхід на веб-сайт і створення скріншоту.

import requests
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
import time

base_url = "http://127.0.0.1:50325"

# Крок 1: Створення профілю
profile_data = {
    "name": "Тест робочого процесу",
    "proxy_config": {
        "proxy_type": "http",
        "proxy_host": "proxy.example.com",
        "proxy_port": "3128"
    }
}
create_resp = requests.post(f"{base_url}/api/v1/user/create", json=profile_data)
user_id = create_resp.json()["data"]["id"]
print(f"Створено профіль: {user_id}")

# Крок 2: Запуск браузера
start_resp = requests.get(f"{base_url}/api/v1/browser/start", params={"user_id": user_id})
debug_port = start_resp.json()["data"]["debug_port"]
print(f"Браузер запущено на порту {debug_port}")

# Крок 3: Підключення Selenium
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", f"127.0.0.1:{debug_port}")
driver = webdriver.Chrome(options=chrome_options)

# Крок 4: Виконання дій
driver.get("https://httpbin.org/ip")
time.sleep(2)
print("Сторінка завантажена:", driver.find_element("tag name", "body").text)

# Крок 5: Створення скріншоту
driver.save_screenshot("profile_screenshot.png")
print("Скріншот збережено")

# Крок 6: Очищення
driver.quit()
requests.get(f"{base_url}/api/v1/browser/stop", params={"user_id": user_id})
print("Браузер зупинено")

Цей скрипт демонструє повний цикл: створити, запустити, автоматизувати, зробити скріншот і зупинити. Ви можете розширити його для циклічного оброблення кількох профілів для масових операцій.

Розширене: Використання протоколу MCP для автоматизації сторінок

AdsPower також підтримує протокол Model Context Protocol (MCP), який надає більш структурований спосіб керування браузерами. Замість ручного керування портами налагодження, MCP надає інструменти, такі як navigate, click-element та fill-input.

Налаштування MCP з Python

  1. Встановіть MCP Python SDK:
pip install mcp
  1. Запустіть сервер MCP AdsPower (потрібен Node.js):
npx -y local-api-mcp-typescript
  1. Підключення з Python:
from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

async def main():
    server_params = StdioServerParameters(
        command="npx",
        args=["-y", "local-api-mcp-typescript"],
        env={"PORT": "50325", "API_KEY": "your_api_key"}
    )
    
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # Відкрити профіль браузера
            result = await session.call_tool("open-browser", {"user_id": "profile_id"})
            print(result)
            
            # Перейти за URL
            await session.call_tool("navigate", {"url": "https://example.com"})
            
            # Натиснути елемент
            await session.call_tool("click-element", {"selector": "#login-button"})

import asyncio
asyncio.run(main())

MCP особливо корисний, коли потрібно інтегрувати автоматизацію AdsPower у більші системи на основі AI або коли потрібна чистіша абстракція над сирими командами CDP.

Поширені проблеми та рішення

Відмова у з'єднанні з API

  • Переконайтеся, що AdsPower запущено та локальний API увімкнено.
  • Перевірте, чи порт у вашому скрипті збігається з налаштуваннями API AdsPower.
  • Якщо використовується брандмауер, дозвольте з'єднання до порту локального API.

Браузер не запускається

  • Перевірте, чи існує ID профілю.
  • Переконайтеся, що конфігурація проксі є дійсною.
  • Перегляньте журнали AdsPower для детальних повідомлень про помилки.

Selenium не може підключитися до порту налагодження

  • Переконайтеся, що ви запустили браузер через API перед підключенням.
  • Використовуйте точний debug_port, повернутий кінцевою точкою запуску.
  • Якщо використовується кілька профілів, переконайтеся, що кожен має унікальний порт.

Сервер MCP не знайдено

  • Встановіть Node.js та переконайтеся, що npx знаходиться в PATH.
  • Спочатку запустіть npx -y local-api-mcp-typescript вручну, щоб перевірити його роботу.
  • Перевірте правильність ключа API.

Пов'язані матеріали

Часті запитання

Чи можу я запускати кілька профілів браузера одночасно за допомогою Python? Так. Запустіть кожен профіль через API, зберіть їхні порти налагодження та підключіть окремі екземпляри Selenium до кожного порту. Використовуйте потоки або asyncio для одночасного керування.

Чи потрібно встановлювати інший драйвер браузера для AdsPower? Ні. AdsPower використовує Chromium під капотом, тому стандартний ChromeDriver працює. Просто переконайтеся, що версія ChromeDriver відповідає версії Chromium, яку використовує AdsPower.

Чи можна змінити параметри відбитків після створення профілю? Так. Використовуйте кінцеву точку /api/v1/user/update, щоб змінити проксі, налаштування відбитків або примітки. Деякі зміни відбитків можуть вимагати перезапуску браузера.

Як це порівнюється з використанням вбудованого RPA AdsPower? RPA AdsPower чудово підходить для простих робочих процесів без коду. Автоматизація Python дає більше гнучкості, власної логіки та інтеграції із зовнішніми системами. Для складних або дата-інтенсивних завдань Python є кращим вибором.

Висновок

Поєднання браузера з відбитками AdsPower з Python відкриває потужні можливості автоматизації для управління багатьма акаунтами. Незалежно від того, чи створюєте ви профілі масово, автоматизуєте послідовності входу або будуєте повну панель управління акаунтами, локальний API AdsPower надає всі необхідні інструменти.

Почніть з базових викликів API для списку та створення профілів, потім перейдіть до інтеграції Selenium для автоматизації на рівні сторінок. Для більш розширених випадків використання досліджуйте протокол MCP для створення робочих процесів на основі AI. За допомогою цих інструментів ви можете ефективно керувати сотнями акаунтів, зберігаючи кожен ізольованим з унікальним цифровим відбитком.

Для додаткових порівнянь та альтернатив перегляньте наше Порівняння AdsPower vs Undetectable: 2026 Anti-Detect Browser Comparison та AdsPower vs VMLogin vs Kameleo: 2026 Anti-Detect Browser Face-Off. Якщо вам потрібні надійні проксі для ваших профілів, наш Огляд SOAX 2026 охоплює ціни та порівняння продуктивності.

Поділитися