визуальный анализ веб-страниц в рубине - PullRequest
3 голосов
/ 06 января 2011

Я ищу написать код, который выполняет визуальный анализ веб-страниц, предпочтительно с использованием Ruby. Мой код должен быть в состоянии определить верхнюю, левую, ширину, высоту, цвет фона, цвет и размер шрифта для всех элементов в DOM. Конечно, эти значения могут быть рассчитаны только после применения всего CSS. Так что я не думаю, что Нокогири подходит для этой работы. В конечном счете, я пытаюсь использовать эти данные в алгоритме, подобном VIPS (Vision-Based Page Segmentation), чтобы найти основной контент в загруженных новостных статьях.

Я подумал об использовании Watir для управления Chrome или Firefox, а затем извлечения данных. Проблема в том, что браузеры не могут работать без Watir (я думаю). В конечном итоге этот код будет работать на множестве серверов Linux в центре обработки данных. Таким образом, код не будет иметь легкого доступа к X-серверу для отображения браузера.

Полагаю, одним из решений является использование Watir и запуск безголового X-сервера на серверах Linux. Это немного больно, но сейчас это мой лучший вариант.

У кого-нибудь есть идеи получше?

Ответы [ 2 ]

4 голосов
/ 06 января 2011

Вы, безусловно, можете запускать браузеры без Selenium и Xvfb .Я сделал много безголовых соскобов с этой комбинацией в прошлом.

1 голос
/ 09 января 2011

Определенно используйте Xvfb

например, nohup Xvfb: 1-экран 0 1024x768x24 2> & 1> / dev / null &

Затем просто откройте firefox на этом порту дисплея: 1

Также посмотрите этот драгоценный камень без головы https://github.com/leonid-shevtsov/headless

...