C/C++ の HTML パーサー

C/C++ の HTML パーサーを紹介する。

libxml

XML を解析するための C言語のライブラリです。

wikipedi : libxml2

下記のウェブサイトに HTML パーサーの例が紹介されている。

hatenablog: libxmlでHTMLParserを使う

hateblo: c/c++で、htmlをパースする

いずれも10年前の記事です。
Mac で動作確認を行なった。

動作確認を行なったソースコードGithub に公開した。
https://github.com/ohwada/MAC_cpp_Samples/tree/master/libxml/html_parser

gumbo-parser

Googleオープンソースとして公開している HTML パーサーです。

infoq: GoogleがHTML5構文解析ライブラリGumboをオープンソース化

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : gumbo-parser

下記のウェブサイトにサンプルコードがある。

github: Gumbo

html tidy

HTML 標準に準拠していない HTML 文書を修正し整えることを目的とする コンピュータプログラムである。
汎用的な HTML パーサーではない。

wikipedia: HTML Tidy

Mac の場合は brew コマンドでインストールできる。

Homebrew Formulae : tidy-html5

コマンドラインツールとライブラリがインスツールされる。

下記のウェブサイトにコマンドラインツールの使い方が紹介されている。

HTML Tidyで整形

下記のウェブサイトにライブラリのチュートリアルとサンプルコードがある。

html-tidy: libtidy Introduction

### W3C Markup Validation Service

W3C が提供している HTML 文書が HTML 標準に準拠しているかどうかを検証するためのウェブサービスである。

HTML パーサーと直接の関連はなくおまけの情報です。

W3C( World Wide Web Consortium ) は、WWW ( World Wide Web ) で使用される各種技術の標準化を推進するために設立された標準化団である。

wikipedia: W3C Markup Validation Service

wikipedia: World Wide Web Consortium