"iterwalk" カテゴリのページ

Python: lxmlを使って、タグを巡回する方法

HTMLの分析を行う際、タグを巡回する必要がありますがそんなとき、lxmlを使うと便利です。

lxmlでは、タグの入れ子関係が壊れたHTMLの修復も自動で行ってくれる機能がありますのでユーザは細かいことを気にする必要はありません。この修復機能のおかげで、入れ子の修復(閉じ括弧がないタグは閉じ括弧を付与)を行ってくれるため、HTMLをツリーとして、つまりDOMツリーとして捉えることができるようになるのです。

DOMツリーだから何やねん!という方は読み飛ばしてもらっていいのですが、ツリーであるおかげで親ノード(親タグ)をたぐったり、兄弟ノード(兄弟タグ)をたぐったりが簡単にできるようになるのですね。lxmlってすばらしい。

木を巡回する手法はいろいろとありますが、今日は深さ優先で巡回する手法をみてみましょう。

カテゴリー