【エクセルVBA】webスクレイピング(テーブル操作th,tr,td取得)➂

投稿者: | 2021年6月22日
excelアイコン

エクセルバージョン

マイクロソフト365

 

本日はvbaのwebスクレイピングでHTMLのtableの

th(table header)

tr(table row)

td(table data)

の文字を取得して、ワークシートに1行ずつ書きだしていく方法を解説します。

それでは行ってみましょう!

 

HTMLサンプル

今回は下記のようなhtmlのテーブルのデータを使用します。

テーブルスクレイピングデータ

【今回使用するHTMLのテーブル】

サンプルサイト

 

VBAサンプル

定数constURLに取得したいURLを入力します。

定数constのTAGNAMEに取得したいth,tr,tdを入力します。

Microsoft HTML Object Libraryを参照設定します。

参照設定したら超絶簡単なので、早速コピぺしてテーブル情報を取得してみましょう(^o^)o

 

thの取得

VBAサンプルのの定数constのTAGNAMEの値をthにすることで下記のようになります。

objIE.document.getElementsByTagName(“th“)

 

下記のピンクの2箇所(th)を取得できます。

スクレイピングth

【html】

HtmlTableThData

th結果

セルに1行ずつthを書き出せます(*^^)v

th_結果

 

trの取得

VBAサンプルのの定数constのTAGNAMEの値をtrにすることで下記のようになります。

objIE.document.getElementsByTagName(“tr“)

 

下記の赤枠の4箇所(tr)が取得できます。

スクレイピングtr

【html】

HtmlTableTrData

tr結果

セルに1行ずつtrを書き出せます(*^^)v

tr_結果

 

tdの取得

VBAサンプルのの定数constのTAGNAMEの値をtdにすることで下記のようになります。

objIE.document.getElementsByTagName(“td“)

 

下記のピンクの6箇所(td)が取得できます\(^^)/

スクレイピングtd

【html】

HtmlTableTdData

td結果

セルに1行ずつtdを書き出せます(*^^)v

td_結果

 

まとめ

エクセルVBAでもテーブル情報は簡単に取得できますね(((^-^)))

以上です。