DuckoNetДокументация 0.11.5Документация DuckoLab
Разделы

DuckoNet для Python

DuckoNet отправляет HTTP-запросы с сетевыми профилями Chrome и Microsoft Edge. Вы выбираете браузер и передаёте API-ключ; библиотека подготавливает установку, проверяет доступ и загружает подходящий подписанный профиль.

Первый запрос

Установите пакет для своей системы и задайте переменную окружения DUCKONET_API_KEY. Затем выполните:

import os
from duckonet import HttpClient

with HttpClient(api_key=os.environ['DUCKONET_API_KEY'], browser='chrome') as client:
    response = client.get('https://example.com/')
    response.raise_for_status()
    print(response.text)

Контекст with открывает клиент и освобождает его ресурсы после работы. Внутри одного контекста можно отправить несколько запросов. Для асинхронного кода есть AsyncHttpClient.

Что читать дальше

Платформа и возможности

КомпонентПоддержка в этом выпуске
PythonCPython 3.12, стандартная сборка с GIL
Windowsx64; системные условия — в инструкции установки
LinuxUbuntu 24.04, x64
Браузерные профилиChrome 150 и Edge 151 — Free; Chrome 151–155 и Edge 156 — Pro
ИнтерфейсыСинхронные и асинхронные запросы

Список профилей определяется каталогом и правами API-ключа. Ограничения количества потоков по тарифу нет; технические пределы описаны в справочнике.

Выбор API

Для HTTP-запросов приложения используйте HttpClient или AsyncHttpClient. Они принимают параметры URL, JSON, формы и файлы, обрабатывают перенаправления и возвращают HttpResponse с .text, .json() и .raise_for_status(). Cookies сохраняются между запросами одного клиента автоматически.

Client и AsyncClient подходят для запросов с явно заданным браузерным контекстом. Они возвращают Response с телом в байтах; сериализация данных и обработка ответа остаются в вашем коде. Если контекст не задан, клиент использует контекст открытия страницы. Это другой способ работы с библиотекой, а не устаревший API.

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

Браузерный профиль задаёт параметры TLS и HTTP. При этом метод, адрес, заголовки и тело выбирает ваше приложение. HttpClient не исполняет браузерный Fetch: в частности, не проверяет CORS и не отправляет предварительный запрос preflight. Поле assurance='custom-request' у ответа обозначает именно этот способ отправки, а не результат измерения отпечатка.

Профили и соединения

Microsoft Edge

Укажите browser="edge"; остальной HTTP API общий для обоих браузеров. Выбор версии Edge и примеры.

Текст страницы