SeimiAgent — это веб-сервис, основанный на QtWebkit и предназначенный для работы на серверной стороне. С помощью предоставляемого SeimiAgent HTTP-интерфейса можно отправить запрос load, содержащий URL-адрес страницы, которую необходимо обработать, время рендеринга или информацию о прокси-сервере. SeimiAgent загружает и отображает требуемую динамическую страницу, после чего возвращает обработанную страницу вызывающей стороне для дальнейшей обработки. Таким образом, сервис SeimiAgent не зависит от языка программирования, и любой язык или фреймворк может использовать стандартный HTTP-интерфейс SeimiAgent для получения услуг.
Среда загрузки и рендеринга SeimiAgent соответствует уровню универсального браузера, поэтому можно не беспокоиться о его возможностях обработки динамических страниц. Кроме того, SeimiAgent поддерживает создание снимков экрана (PNG) и PDF, а также позволяет настраивать обработку базовых рендеренных страниц с помощью JavaScript. Для получения более подробной информации см. раздел «Использование».
cd /dir/of/seimiAgent
./seimiagent -p 8000
После выполнения команды SeimiAgent запустит HTTP-сервер и будет прослушивать указанный порт, например, порт 8000 в приведённом примере. Затем вы можете использовать любой знакомый вам язык для отправки запроса на загрузку и рендеринг страницы в SeimiAgent и получить обработанный HTML-документ для последующей обработки.
Поддерживаются только запросы POST, адрес запроса — /doload
.
url
— обязательный параметр, указывающий целевой URL-адрес запроса.renderTime
— время, предоставляемое SeimiAgent на рендеринг после загрузки всех ресурсов. Может потребоваться больше времени для сложных динамических страниц, в зависимости от ситуации. Необязательный параметр, единица измерения — миллисекунды.proxy
— указывает SeimiAgent использовать определённый прокси. Необязательный параметр в формате http|https|socket://user:passwd@host:port
.postParam
— принимает значение в формате JSON, которое сообщает SeimiAgent, что текущий запрос является POST и использует указанные параметры.useCookie
— определяет, следует ли использовать cookie. Если установлено значение 1, используется cookie.contentType
— определяет формат вывода результатов рендеринга. Возможные значения: img
или pdf
, по умолчанию — html
.script
— позволяет передать фрагмент кода JavaScript, который будет выполнен после рендеринга страницы. Аналогично выполнению в консоли Chrome.ua
— настраивает UserAgent. Используется при необходимости.resourceTimeout
— устанавливает время ожидания для загрузки ресурсов, таких как JavaScript. По умолчанию составляет 20 секунд.Процесс сборки может занять длительное время. Рекомендуется использовать готовые двоичные исполняемые файлы, если это возможно.
sudo apt-get install build-essential g++ flex bison gperf ruby perl libsqlite3-dev libfontconfig1-dev libicu-dev libfreetype6 libssl-dev libpng-dev libjpeg-dev python libx11-dev libxext-dev
yum -y install gcc gcc-c++ make flex bison gperf ruby openssl-devel freetype-devel fontconfig-devel libicu-devel sqlite-devel libpng-devel libjpeg-devel
python build.py
Затем дождитесь завершения процесса. В случае медленного интернета, возможно, потребуется повторить попытку. Компиляция на четырёхъядерном процессоре I5 может занять более получаса, на одноядерном облачном сервере — около двух часов, на сервере с 16 ядрами и более — примерно десять минут.
Дополнительные документы находятся в процессе подготовки. Благодарим за поддержку семейству Seimi (SeimiCrawler, SeimiAgent).
libwebp
, что делает их более универсальными для различных платформ.contentType
. Доступны форматы img
и pdf
.Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )