Ir al contenido

SDK de Python

El SDK oficial de Python para HydraSkill. Admite operaciones síncronas y asíncronas.

Ventana de terminal
pip install hydraskill
from hydraskill import ProxyClient
client = ProxyClient(api_key="sk-...")
# Obtener un proxy
proxy = client.get_proxy(target="amazon.com", session_lock=True)
# Usar con requests
import requests
resp = requests.get("https://amazon.com", proxies=proxy.to_dict())
# Liberar al terminar
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, # tiempo de espera de la petición en segundos
max_retries=3, # reintentar ante errores transitorios
base_url="https://api.hydraskill.ai", # endpoint personalizado
)
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")