Gumbo.jl

Gumbo.jlはJulia言語でHTMLをパース(構文解析)するためのパッケージである。

GumboはHTML5解析ライブラリであり、Googleが提供している。Gumbo.jlはGumboのJuliaラッパーである。

パッケージの追加

Gumbo.jlを使用するには、Julia言語にGumboパッケージを追加する必要がある。

Gumboパッケージを追加するには、JuliaのREPLを起動して、Pkgパッケージのadd()関数を実行する。

julia> using Pkg
julia> Pkg.add("Gumbo")

パッケージの追加は、Juliaインストール後に1度だけ行えばよい。パッケージを使うたびに追加する必要はない。

パッケージを追加せずにGumboを使おうとすると、次のようなエラーメッセージが出力される。

julia> using Gumbo
ERROR: ArgumentError: Package Gumbo not found in current path:
- Run `import Pkg; Pkg.add("Gumbo")` to install the Gumbo package.

Stacktrace:
 [1] require(into::Module, mod::Symbol)
   @ Base .\loading.jl:871

parsehtml()

HTMLのパース(構文解析)は、parsehtml 関数で行う。

julia> using Gumbo

julia> doc = parsehtml("<title>Example</title>")
HTML Document:
<!DOCTYPE >
HTMLElement{:HTML}:<HTML>
  <head>
    <title>
      Example
    </title>
  </head>
  <body></body>
</HTML>

julia> doc.root
HTMLElement{:HTML}:<HTML>
  <head>
    <title>
      Example
    </title>
  </head>
  <body></body>
</HTML>

julia> doc.root[1]
HTMLElement{:head}:<head>
  <title>
    Example
  </title>
</head>

julia> doc.root[2]
HTMLElement{:body}:<body></body>

参考文献

Porter, James. (2021). JuliaWeb / Gumbo.jl