1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/xiaohuo-SeimiAgent

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
zh.md 6.8 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 29.11.2024 13:14 c692fad

SeimiAgent

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-документ для последующей обработки.

Пример

Поддерживаемые HTTP-параметры

Поддерживаются только запросы 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 секунд.

Сборка

Процесс сборки может занять длительное время. Рекомендуется использовать готовые двоичные исполняемые файлы, если это возможно.

Зависимости

  • На Ubuntu:
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
  • На CentOS:
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).

Журнал изменений

Версия 1.2

  • Поддержка выполнения пользовательских скриптов JavaScript.
  • По умолчанию в распространяемых пакетах отсутствует зависимость от libwebp, что делает их более универсальными для различных платформ.
  • Оптимизация рендеринга изображений и PDF.

Версия 1.1

  • Возможность указать формат результата с помощью параметра contentType. Доступны форматы img и pdf.
  • Добавлен универсальный пакет для 64-битной платформы Linux.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/xiaohuo-SeimiAgent.git
git@api.gitlife.ru:oschina-mirror/xiaohuo-SeimiAgent.git
oschina-mirror
xiaohuo-SeimiAgent
xiaohuo-SeimiAgent
master