Python SDK
Python SDK
Section titled “Python SDK”HydraSkill 的官方 Python SDK。支援同步與非同步操作。
pip install hydraskillfrom hydraskill import ProxyClient
client = ProxyClient(api_key="sk-...")
# 取得一個 proxyproxy = client.get_proxy(target="amazon.com", session_lock=True)
# 搭配 requests 使用import requestsresp = 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()與 Playwright 整合
Section titled “與 Playwright 整合”from hydraskill import ProxyClientfrom 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")