Перейти к содержимому

Python SDK

Официальный Python SDK для HydraSkill. Поддерживает синхронные и асинхронные операции.

Окно терминала
pip install hydraskill
from hydraskill import ProxyClient
client = ProxyClient(api_key="sk-...")
# Получаем прокси
proxy = client.get_proxy(target="amazon.com", session_lock=True)
# Используем с requests
import requests
resp = requests.get("https://amazon.com", proxies=proxy.to_dict())
# Освобождаем по завершении
proxy.release()
from hydraskill import AsyncProxyClient
client = AsyncProxyClient(api_key="sk-...")
async def scrape():
proxy = await client.get_proxy(target="amazon.com")
async with httpx.AsyncClient(proxies=proxy.to_httpx()) as http:
resp = await http.get("https://amazon.com")
await proxy.release()
from hydraskill import ProxyClient
from playwright.sync_api import sync_playwright
client = ProxyClient()
proxy = client.get_proxy(target="amazon.com", session_lock=True)
with sync_playwright() as p:
browser = p.chromium.launch(proxy={
"server": proxy.to_playwright_server(),
"username": proxy.username,
"password": proxy.password,
})
page = browser.new_page()
page.goto("https://amazon.com")
client = ProxyClient(
api_key="sk-...",
timeout=30, # таймаут запроса в секундах
max_retries=3, # повтор при временных ошибках
base_url="https://api.hydraskill.ai", # пользовательский эндпоинт
)
from hydraskill.exceptions import (
AuthenticationError,
RateLimitError,
ProxyExhaustedError,
InsufficientBalanceError,
)
try:
proxy = client.get_proxy(target="example.com")
except RateLimitError as e:
print(f"Rate limited. Retry after {e.retry_after_ms}ms")
except InsufficientBalanceError:
print("Upgrade your plan or add traffic")