LINUX.ORG.RU

Открыт код Gumbo, библиотеки для унификации парсинга HTML5

 , , , ,


3

1

Компания Google выпустила под лицензией Apache 2.0 библиотеку Gumbo, представляющую собой реализацию разбора HTML5 на языке программирования C.

В качестве причин для её создания указывается на фрагментацию существующих уже библиотек, либо их неоптимальность. Так, большинство реализаций привязаны к определённым браузерам или движкам, а некоторые были написаны на весьма специфичных скриптовых языках, что сильно усложняло их интеграцию в развивающиеся проекты.

Gumbo представляет собой простую и легковесную библиотеку, не имеющую зависимостей от сторонних приложений и библиотек.

Возможности, на которые указывают разработчики:

  • Полная совместимость со спецификациями HTML 5
  • Качественный обработчик ошибок
  • Простой API с возможностью интегрирования в различные языки программирования
  • Легковесность и отсутствие зависимостей
  • Прохождение html5-tests
  • Возможность получения обратных ссылок на исходный код фрагмента
  • Тщательно протестировано на более чем 2.5 миллиардах страниц из поискового индекса Google

Gumbo на GitHub

Новость на OpenNet

>>> Новость в блоге Google OpenSource

★★★★★

Проверено: maxcom ()
Последнее исправление: Falcon-peregrinus (всего исправлений: 1)

Возможность получения обратной ссылки на исходный код фрагмента

Видимо, что-то вроде view-page-source для структуры отдельного прошедшего парсинг элемента

anonymous
()

под лицензией Apache 2.0

Под MIT/BSD не могли? Для совместимости с GPL2.

Ttt ☆☆☆☆☆
()

Интересно, куда они хотят это протолкнуть. В вебкит?

yoghurt ★★★★★
()

а некоторые были написаны на весьма специфичных скриптовых языках, что сильно усложняло их интеграцию в развивающиеся проекты

Питон что ли?

Deleted
()

Молодец, Гугл. Пусть Яндекс тоже что-нибудь откроет

ttnl ★★★★★
()

Новость однозначно позитивная, одобряю. Но я не профессиональный программист, в основном пишу программы для обработки своих рабочих данных, порой весьма разнообразных. и как-то вот заметил, что проекты библиотек, существующие еще с «дремучих» 90-х, как правило, носят интуитивно понятные названия, взять хоть тот же libxml2, который уже упоминали выше, по названию сразу понятно, что это и для чего предназначено. А в последнее время есть тенденция называть проекты так, что либо ничего не понятно, либо парсер сломаешь, пока разберешь. Что это, новая мода или просто закончились нормальные названия?

hippi90 ★★★★★
()

Самое время используя это и v8 (node), начать пилить новый свободный браузер.

Deleted
()
Ответ на: комментарий от hippi90

Что это, новая мода или просто закончились нормальные названия?

У HTML5 есть большая проблема. Оно звучит слишком непохоже на Google. Назвали бы её libhtml5, никто бы не вспоминал, что её написали в Google.

А так будет все как обычно:

- Чувак, а что это у тебя за Gumbo такое?

- Ну это библиотека от Google, что парсит HTML5.

PR - штука серьёзная.

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

А смысл в этом пиаре? Google её не продает, не использует как коммерческий продукт для выбивания бабла из пользователей. Конечному пользователю вообще пофиг, чем его браузер парсит html, а нормальный программер, подчеркну, нормальный адекватный программер, выбирает библиотеку исходя не из её автора, а из её возможностей.

hippi90 ★★★★★
()
Ответ на: комментарий от hippi90

Что это, новая мода или просто закончились нормальные названия?

В gnome приложение для просмотра презентаций называлось просто-и-сразу-понятно: «present»...
Гуглить такое название — милейшее дело.

frob ★★★★★
()
Ответ на: комментарий от frob

Гуглить такое название — милейшее дело.

+100500

af5 ★★★★★
()
Ответ на: комментарий от hippi90

По тому, что сейчас есть кучи реализаций одного и того же. Как по вашему библиотеки называть? htmlparserbyvasja, htmlparserbypetja, htmlparserbykrivorukijidiot?

RiseOfDeath ★★★★
()
Ответ на: комментарий от d_Artagnan

btw а есть ли такая библиотека, но для Си ?

Стесняюсь спросить, а эта Gumbo для какого языка?

библиотеку Gumbo, представляющую собой реализацию разбора HTML5 на языке программирования C.

sleepflint ★★★
()

Го́дно.

anonymous
()

Отличная новость, нужно.

cruxish ★★★★
()
Ответ на: комментарий от sleepflint

btw а есть ли такая библиотека, но для Си ?

Стесняюсь спросить, а эта Gumbo для какого языка?

У К.О. есть подозрения, что d_Artagnan спрашивал про библиотеку для парсинга сишного кода.

anonymous
()
Ответ на: комментарий от system-root

да ну? AMD
и таких названий которые даже не загуглить нормально over9000

Причём даже оригинальная версия этого AMD появилась примерно на 20-с-половиной лет позже (декабрь 1989) одноимённой компании (май 1969). Про линуксовый порт и говорить нечего. :)

anonymous
()
Ответ на: комментарий от anonymous

У меня есть подозрение, что ему просто не понравилось, что язык Си назвали С.

queen3 ★★★★★
()
Ответ на: комментарий от anonymous

Вероятно потому, что у адекватных людей есть сомнение по поводу перспектив C++.

anonymous
()
Ответ на: комментарий от rtvd

+1. задрали со своими названиями калечными

punya ★★
()
Ответ на: комментарий от hippi90

Белый PR.

Закрепляют в сознании народа ассоциацию себя с СПО, бескорыстностью, технологиями, инновациями.

Это помогает в патентных разборках, поисках новых сотрудников и возможностью нанять разумных людей недорого.

Пол года назад общался с одним человеком:

- Я вот через лет 15, когда заработаю несколько десятков миллионов, уйду работать в Google.

- А почему?

- .. Ну ведь Google - инновационная компания, там здорово работать технарям.

- Т.е. ты бросишь трейдерство и уйдёшь писать софт, так? И тебя не волнует, что ты нам будешь работать почти что даром и делать что-то мегаинтеллектуальное вроде дебажанья Gmail?

- Ну и что? Зато там можно один день из пяти работать над своими проектами.

- .. права на которые будут принадлежать не тебе. И кстати, тебе не приходило в голову, что со, скажем, 50 миллионами фунтов в кармане, можно было бы и 100% работы посвятить своим проектам?

- ....

rtvd ★★★★★
()
Ответ на: комментарий от rtvd

разумных людей
через лет 15, когда заработаю несколько десятков миллионов

anonymous
()
Ответ на: почему не на Go? от unel

Цель проекта была сделать эдакий референсный парсер на сях без внешних зависимостей, чтобы народ мог сделать привязку к нужному языку или использовать исходник для написания своего парсера.
Для Go есть почти стандартный парсер из этой библиотеки http://code.google.com/p/go/source/checkout?repo=net

kodx
()

кажется имеем lor-эффект

cvv ★★★★★
()
Ответ на: комментарий от DNA_Seq

Я бы не радовался выбору языка.

А на чём надо было? На Перле, интерпретатор которого написан на C? На Питоне, интерпретатор которого написан на C? На Java, VM которой написана на C? Хренова куча интерпретаторов, компиляторов и прочих софтин, задача которых прямо или косвенно связана с парсингом текста, написаны на C/C++ и работают себе спокойно. Это во-первых.

А во-вторых, чем реализация конечного автомата на C [существенно] хуже реализации конечного автомата на любом другом языке?

anonymous
()
Ответ на: комментарий от anonymous

На Перле, интерпретатор которого написан на C?

А может сразу в машинных кодах? В перле хотя бы регэкспы искаропки, а значит унифицированы. А си-строки вообще отдельная песня, то есть по-хорошему придется дергать кучу сторонних либ, и фрагментация - вопрос времени.

На Питоне, интерпретатор которого написан на C?

Про PyPy не слышал?

А во-вторых, чем реализация конечного автомата на C [существенно] хуже реализации конечного автомата на любом другом языке?

Тем что придется либо писать кучу велосипедов либо все равно дергать сторонние либы

DNA_Seq ★★☆☆☆
()
Ответ на: комментарий от DNA_Seq

В перле хотя бы регэкспы искаропки

Уж сколько твердили миру «HTML нельзя парсить регулярками», но нет, всё равно находятся искатели приключений на свои и чужие задницы.

anonymous
()
Ответ на: комментарий от rtvd

Я думаю что все это возможно касается людей постарше. Если ты молод, то работать в Google - way to go. Кроме ситуаций со своим мегонужным стартапом

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от DNA_Seq

Паскаль забыл)
Начинать то начинает, но это не значит, что он делает что-то отличное от дрисни

actics
()

Рендерить бы ещё умело.

Sadler ★★★
()
Ответ на: комментарий от vertexua

Я думаю что все это возможно касается людей постарше. Если ты молод, то работать в Google - way to go. Кроме ситуаций со своим мегонужным стартапом

:)

Вот, тебя они уже убедили.

Рациональные аргументы будут?

rtvd ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.