The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Компания Google открыла код Gumbo, библиотеки для парсинга HTML"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Компания Google открыла код Gumbo, библиотеки для парсинга HTML"  +/
Сообщение от opennews (ok) on 14-Авг-13, 14:01 
Компания Google представила (http://google-opensource.blogspot.ru/2013/08/gumbo-c-library...) новую открытую библиотеку Gumbo (https://github.com/google/gumbo-parser), предоставляющую набор функций для  разбора HTML, построенных на  реализации алгоритма парсинга, описанного (http://www.whatwg.org/specs/web-apps/current-work/multipage/...) в стандарте HTML5.  Код опубликован под лицензией Apache 2.0.

В отличие от прошлых спецификаций HTML, стандарт HTML5 определяет единый алгоритм разбора HTML, позволяющий унифицировать работу парсера в различных браузерах. Проблема заключается в том, что существующие реализации алгоритма HTML5 либо привязаны к конкретным реализациям браузеров или движков рендеринга, что затрудняет их обособленное использование, либо написаны на скриптовых языках, что не позволяет добиться приемлемой производительности. Реализованный в Gumbo парсер проходит все тесты html5lib-0.95 (https://github.com/html5lib/html5lib-tests)) и готов для использования в качестве отдельного продукта.


Библиотека написана на языке Си и не требует для своей работы внешних зависимостей, что делает её интересным решением для использования в качестве основы для построения различных инструментов для проверки корректности, рафакторинга и анализа HTML, создания шаблонизаторов и других программ, манипулирующих разметкой HTML. Предоставляемый Gumbo API предельно прост и может использоваться для создания обёрток для различных языков программирования. Библиотека позиционируется как стабильная - код уже используется в промышленной эксплуатации для работы с поисковыми индексами Google.


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

URL: http://google-opensource.blogspot.ru/2013/08/gumbo-c-library...
Новость: http://www.opennet.ru/opennews/art.shtml?num=37658

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


7. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +7 +/
Сообщение от meequz (ok) on 14-Авг-13, 15:21 
Забавно, что выложілі на гітхаб, а не на свой гуглокод.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +1 +/
Сообщение от Аноним (??) on 14-Авг-13, 16:10 
Они давно туда выкладывают свой код
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

42. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +/
Сообщение от Аноним (??) on 22-Авг-13, 03:07 
Очевидно же - гуглокод нафиг никому не сдался, ибо чтобы там запостить банальный баг нужно подписывать гугловскую EULA, никто в здравом уме этого делать не будет.
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

11. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +/
Сообщение от chinarulezzz (ok) on 14-Авг-13, 16:14 
гугл не отбирает у своих разработчиков возможность использовать те инструменты, которые им удобны.

linux//windows/macosx/etc, vim/emacs/eclipse/netbeans/etc. Что угодно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +/
Сообщение от CAP on 15-Авг-13, 22:58 
от windows они отказались вроде официальная инфа была
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

12. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +/
Сообщение от Маша Слонина email on 14-Авг-13, 18:33 
Вот за что я люблю google для python сразу есть обертка.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +2 +/
Сообщение от kurokaze (ok) on 14-Авг-13, 23:42 
> Вот за что я люблю google для python сразу есть обертка.

Хвалю, вот бы и все остальные владельцы собак так поступали

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

13. "Компания Google открыла код Gumbo, библиотеки для..."  +1 +/
Сообщение от arisu (ok) on 14-Авг-13, 21:38 
чёрт, действительно на чистом си! надо присмотреться. а то libsgml ночами ссытся в постель, хоть и старается изо всех сил чтобы «как у взрослых».
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +/
Сообщение от u on 14-Авг-13, 22:22 
Лицензия, как всегда.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  –1 +/
Сообщение от Kibab (ok) on 16-Авг-13, 18:21 
А что с ней не так?
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

26. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 16-Авг-13, 22:34 
> А что с ней не так?

GPL лучше была бы. но дареной библиотеке в лицензии не заглядывают.

Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

15. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  –2 +/
Сообщение от Aleksey Salow (ok) on 14-Авг-13, 23:27 
я так понимаю с невалидным html будет тяжко.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Компания Google открыла код Gumbo, библиотеки для..."  +1 +/
Сообщение от arisu (ok) on 14-Авг-13, 23:44 
> я так понимаю с невалидным html будет тяжко.

ты бы правила разбора html5 почитал, что ли… «пониматель».

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

18. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 15-Авг-13, 10:09 
посоны, аккуратно, там ошибка! ну, то есть, в библиотеке. нефатальная, но при некоторых условиях можете получить бредовые имена атрибутов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от Аноним (??) on 15-Авг-13, 11:12 
Ссылку на репорт можно?
Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

20. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 15-Авг-13, 11:33 
> Ссылку на репорт можно?

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

хинт: два атрибута с одинаковым именем и значением, идущие подряд друг за другом, дают забавный результат в attribute->name.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 15-Авг-13, 11:36 
> хинт: два атрибута с одинаковым именем и значением, идущие подряд друг за
> другом, дают забавный результат в attribute->name.

в смысле: attr="value" attr="value" another_attr="another_value"
будет маленькая забавка.

Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

25. "Компания Google открыла код Gumbo, библиотеки для..."  –1 +/
Сообщение от Kibab (ok) on 16-Авг-13, 18:22 
Это ты об анонимности так печёшься или просто нечего класть? :-)
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

27. "Компания Google открыла код Gumbo, библиотеки для..."  +1 +/
Сообщение от arisu (ok) on 16-Авг-13, 22:36 
> Это ты об анонимности так печёшься или просто нечего класть? :-)

алё, дурилка, ты тесткейз и патч видел? прямо в этой теме. уж наверное можно проверить.

Ответить | Правка | ^ к родителю #25 | Наверх | Cообщить модератору

39. "Компания Google открыла код Gumbo, библиотеки для..."  –2 +/
Сообщение от Kibab email(ok) on 17-Авг-13, 02:25 
>> Это ты об анонимности так печёшься или просто нечего класть? :-)
> алё, дурилка, ты тесткейз и патч видел? прямо в этой теме. уж
> наверное можно проверить.

Да не переживай ты так :-)) Вон, видишь, даже забыл, на какой вопрос отвечаешь.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

40. "Компания Google открыла код Gumbo, библиотеки для..."  +2 +/
Сообщение от arisu (ok) on 17-Авг-13, 02:34 
Rasch abkochen, dann Vormarsch nach Sokal.
Ответить | Правка | ^ к родителю #39 | Наверх | Cообщить модератору

23. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 15-Авг-13, 23:43 
багфикс, котаны:

diff --git a/src/tokenizer.c b/src/tokenizer.c
index c5547bd..ec19d8b 100644
--- a/src/tokenizer.c
+++ b/src/tokenizer.c
@@ -815,6 +815,7 @@ static void finish_attribute_value(GumboParser* parser) {
     // Duplicate attribute name detected in an earlier state, so we have to
     // ignore the value.
     tag_state->_drop_next_attr_value = false;
+    reinitialize_tag_buffer(parser);
     return;
   }


Ответить | Правка | ^ к родителю #18 | Наверх | Cообщить модератору

43. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от Аскар Сафин email on 06-Авг-14, 15:01 
Пофиксили
https://github.com/google/gumbo-parser/commit/3068711413b52c...
Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

44. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 06-Авг-14, 16:39 
> Пофиксили

угу. молодцы, хорошо работают. а могли бы ещё лучше.

Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

28. "Компания Google открыла код Gumbo, библиотеки для парсинга H..."  +1 +/
Сообщение от ssd3 on 16-Авг-13, 22:46 
пару дней назад решил попробовать эту либу в проекте mosync, сборка и использование без всяких вопросов за счет c99, чистенько :)
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Компания Google открыла код Gumbo, библиотеки для..."  +1 +/
Сообщение от arisu (ok) on 16-Авг-13, 22:49 
грязненько, потому что целых два варнинга.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

31. "Компания Google открыла код Gumbo, библиотеки для..."  +1 +/
Сообщение от ssd3 on 16-Авг-13, 22:55 
а если точнее, то у меня 3 warnings было
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

32. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 16-Авг-13, 22:59 
> а если точнее, то у меня 3 warnings было

а третий-то откуда? один — из-за отсутствия return после switch'а (хотя туда и не дойдёт никогда). второй — из-за забытой переменной node. а третий?

Ответить | Правка | ^ к родителю #31 | Наверх | Cообщить модератору

33. "Компания Google открыла код Gumbo, библиотеки для..."  +1 +/
Сообщение от ssd3 on 16-Авг-13, 23:02 
>> а если точнее, то у меня 3 warnings было
> а третий-то откуда? один — из-за отсутствия return после switch'а (хотя туда
> и не дойдёт никогда). второй — из-за забытой переменной node. а
> третий?

parser.c:3049: warning: array subscript has type `char'
parser.c:1550: warning: control reaches end of non-void function
tag.c:205: warning: array subscript has type `char'

Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

35. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 16-Авг-13, 23:04 
это что у тебя за компилятор такой, милчеловек, который неиспользованое значение переменной провтыкал, а на совершенно нормальный код ругается не по делу, как пьяный извозчик? O_O

интересно просто.

p.s. нечто gcc древний какой?

Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

37. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от ssd3 on 16-Авг-13, 23:17 
> это что у тебя за компилятор такой, милчеловек, который неиспользованое значение переменной
> провтыкал, а на совершенно нормальный код ругается не по делу, как
> пьяный извозчик? O_O
> интересно просто.
> p.s. нечто gcc древний какой?

да, древний )
gcc version 3.4.6

Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

36. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 16-Авг-13, 23:06 
в clear_stack_to_table_body_context() ребята явно хотели использовать node, но забыли. мой gcc удивился.
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

30. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 16-Авг-13, 22:50 
p.s. багфикс накати.
Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

34. "Компания Google открыла код Gumbo, библиотеки для..."  +/
Сообщение от arisu (ok) on 16-Авг-13, 23:03 
> пару дней назад решил попробовать эту либу в проекте mosync, сборка и
> использование без всяких вопросов за счет c99, чистенько :)

а вообще, после libsgml несколько напрягает отсутствие ссылок на sibling'ов. пришлось, чтобы логику программы не особо ломать, кидаться не просто указателем на ноду, а структурой «нода, индекс в родителе».

Ответить | Правка | ^ к родителю #28 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру