VBScriptでWEBスクレイピング!hタグを取得してHTMLとして書き出す

★気に入ったらシェアをお願いします!


こんにちは!あつもり(@atumori17)です。

VBScriptでIEを操作してWEBスクレイピング!の第7回目で~す。
前回は「aタグのリンクURLをHTMLとして書き出す」ところまでやりました。

VBScriptでWEBスクレイピング!aタグのリンクURLをHTMLとして書き出す
ページ内にあるaタグの要素全体を抜き出してHTMLファイルとして書き出す方法を紹介します。HTMLファイルとして書き出すことでリンク集のような使い方ができるので便利です。書き出し方法はouterhtmlメソッドを使うことで、指定したタグを含めた要素全体を取得していきます。

今回は「ページ内にあるhタグを取得してHTMLとして書き出す」方法を紹介します。

前回はaタグの要素全体を抜き出しました。今回はhタグの要素全体を抜き出して、前回と同様にHTMLファイルとして書き出していきます。

hタグの要素をHTMLファイルで書き出すスクリプト

テキストエディタを開き下記のコードを入力します。全て入力し終わったら「hタグをHTMLで書き出す.vbs」のファイル名でデスクトップに保存します。

プログラムコードの解説

全体の流れは以下のようになります。

  1. IEでページを開く
  2. IEの読み込み待ちをする
  3. hタグの要素をHTMLファイルとして書き出す

1~2までは前回ご説明したaタグの要素を取得する流れと同じです。その後、hタグの要素を取得してHTMLファイルとして書き出します。

hタグとは見出しを表すタグ

コードの説明に入る前にhタグについて少しお話したいと思います。hタグとは見出しを表すタグでh1~h6まであります。6種類もあるのは、

  • h1 大見出し
  • h2 中見出し
  • h3~h6 小見出し

というように用途に分けて使いわけるためです。こうすることで文書構造をわかりやすくするんですね。hタグはブラウザで表示させたときに、文字が大きく太く表示されます。そのためページ閲覧者にとって読みやすいページになるわけです。

下の画像を見てもらうとイメージがつかみやすいと思います。初心者向けにHTMLを解説したページを例にしています。

このようにhタグを適切に使うことで、閲覧者だけでなく検索エンジンに対してもわかりやすいページになるため、SEOとしての効果もあります。

実際にhタグをHTMLで書く場合は以下のようにします。

ブラウザではこのように表示されます。

それではコードの説明をしていきますね。

getElementsByTagNameメソッドでタグ名で要素を取得する

下記のようにすることでタグ名で要素を取得することができます。

HTMLドキュメント.getElementsByTagName(“タグ名”)

getElementsByTagNameはタグ名で指定した要素のコレクションを取得するメソッドです。コレクションはページ全体のh要素がまとまっているため、1つ1つの要素にバラしてあげないといけません。

上記のコードで27~28行目、32~35行目になります。

コレクションについては過去の記事「VBScriptでWEBスクレイピング!aタグのリンクURLを全部取得する方法」で詳しく説明しているので参考にしてみてください。

VBScriptでWEBスクレイピング!aタグのリンクURLを全部取得する方法
ページ内にあるリンクURLを全て取得してテキストファイルに書き出す方法を紹介します。まずはLinksプロパティでページ全体のa要素を全て取得してから、For eachステートメントでコレクションの中の要素の数だけループさせ、リンク参照先のURLを取得します。

プログラムコードの解説は以上です。

アプリケーションを実行してみる

では実際に起動してみます。デスクトップにある「リンクURLをHTMLで書き出す.vbs」をダブルクリックして起動します。

デスクトップに「hタグ.html」ができました。

「hタグ.html」をダブルクリックするとブラウザでファイルが開きます。

「hタグ.html」をテキストエディタ開いてみると、htmlで書かれているのがわかります。

まとめ

いかかでしたか?今回の内容をまとめると以下のようになります。

  • hタグとは見出しを表すタグで文書構造をわかりやすくするために使う
  • getElementsByTagNameはタグ名で指定した要素のコレクションを取得するメソッド

今回は以上です。それではお疲れさまでした~。

連載目次:VBScriptでお手軽WEBスクレイピング

Windowsを操作できるプログラミング言語「VBScript」を使えば、InternetExplorerを操作してWEBスクレイピングが可能です。 これで日々の情報収集はダブルクリック一発で完了させましょう!
  1. VBScriptでInternet Explorerを使って複数WEBサイトをダブルクリック一発で開く方法
  2. VBScriptでWEBスクレイピング!ファイルシステムオブジェクトでテキストに書き出す
  3. VBScriptでWEBスクレイピング!HTMLドキュメントとタイトルを取得する方法
  4. VBScriptでWEBスクレイピング!ブラウザの読み込み待ちをしてエラーを回避する
  5. VBScriptでWEBスクレイピング!aタグのリンクURLを全部取得する方法
  6. VBScriptでWEBスクレイピング!aタグのリンクURLをHTMLとして書き出す
  7. VBScriptでWEBスクレイピング!hタグを取得してHTMLとして書き出す

The following two tabs change content below.
「デザインもできるシステムエンジニア」のあつもりです。 時間クリエーターとして時短テクを紹介しています。趣味はギターを弾くことですっ。よろしくおねがいします。