Создание собственного HTML-парсера - PullRequest
2 голосов
/ 29 июля 2011

Я знаю этот пост , я уже прочитал его, но все же я хотел бы узнать, какой язык использует (может) html-парсер?Я имею в виду, анализирует ли он весь источник с помощью регулярного выражения или использует обычный язык программирования, такой как c # или python?

Помимо вышеприведенного вопроса, не могли бы вы также проинформировать меня о том, откуда я должен начать создавать своисобственный парсер?(Я хотел бы создать html-парсер для моих личных нужд:)

Ответы [ 2 ]

2 голосов
/ 29 июля 2011

Python, Java и Perl - прекрасные языки для обучения написанию HTML-парсера. Perl очень приятен для регулярных выражений, но это не то, что вам нужно для парсера. Писать ОО-программы на Python или Java немного приятнее. C / C ++ / C # и т. Д. Также распространены для очень быстрых парсеров. Однако в качестве учебного упражнения я рекомендую Python или Java, чтобы вы могли сравнить свою работу со стандартными анализаторами.

1 голос
/ 01 августа 2011

Стандартный способ - использовать дуэт Yacc / Lex;второй создает код, который разбивает код на токены, сначала создает код, который преобразует поток токенов в некоторую желаемую структуру.

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

...