Web スクレイピングでテーブルっぽい構造からデータを取得するときの考え
まだ模索中だけど今の考え方を記しておく
前提
<table> はもちろん、<dl> とか、入れ子の <ul> とかで辞書っぽい情報が書いてある web ページはたくさんある
例
https://gyazo.com/f246b80122857875cbfa5c359699411bhttps://gyazo.com/0a69aa84973337e86c9c55be1d64652a
裏に DB があって、完全にテンプレで出ているみたいなケースならいいんだけど、blog だったりなんだりでなんか比較的自由に書かれているみたいなことも少なくない
また、エントリごとに項目が若干ぶれているみたいな事例もある
実装 (JS/TS だけど、まあなんでもいいでしょう)
まず HTML の <table> (なり、なんなり)から Map<string, string> を作る
たとえば上記食べログだと myMap.get("店名") === "颯爽" になるイメージ
まあ適切に Unicode 正規化したり空白をトリムしたりはしましょう
キーを変換する Map を用意する