こんにちは!あつもり(@atumori17)です。
今回はWEBスクレイピングというテクニックを紹介したいと思います。
WEBスクレイピングとはプログラムでInternet Explorerを操作して、WEB上にある膨大な情報の中から必要な情報だけを取得するテクニックのことです。
例えばスポーツの試合結果を配信しているサイトからサッカーの試合結果だけを取得したり、株価情報を配信しているサイトから気になる企業の株価だけを取得したり、複数のネットショップから特定の商品の売価だけを取得して比較したりできます。
これらの作業を手作業でやったらとっても大変ですよね。情報が多ければ多いほど知りたい情報を見つけるのに時間がかかります。WEBスクレイピングを使えばこの面倒な探すという作業を自動でやってくれます。
IEで複数のWEBサイトを一発で開くスクリプト
ではまずWEBスクレイピングの基本となる、IEを起動するスクリプトを書いてみたいと思います。複数のサイトを同時に開くことができるので、使いかた次第で業務の効率化にも役立ちますよ~。
例えば朝パソコンを起動したあとに見るWEBサイトが複数あって、いつも同じだとしたらダブルクリック一発で全てのサイトが開いたら便利ですよね。
それでは実際にコードを書いていきます。テキストエディタを開き下記のコードを入力します。全て入力し終わったら「IE起動.vbs」などのファイル名でデスクトップに保存します。
Option Explicit Dim objIE 'オブジェクトの作成 Set objIE = CreateObject("InternetExplorer.Application") 'IEを表示させる。Trueで表示 objIE.Visible = True '指定したURLを開く objIE.Navigate2 "https://news.google.com/news/?edchanged=1&ned=jp&hl=ja" '新しいタブで表示 objIE.Navigate2 "https://weather.yahoo.co.jp/weather/", &H800 objIE.Navigate2 "https://transit.yahoo.co.jp/", &H800
プログラムコードの解説
Dimで宣言した変数にInternetExplorerオブジェクトをセットする
DimでIEを入れるための変数を宣言します。
と書くことで変数objIEにInternetExplorerオブジェクトがセットされます。これでVBScriptからIEを操作することができるようになります。
VisibleプロパティでIEを表示させる
変数にセットしたIEを表示させるにはVisibleプロパティを使います。
VisibleプロパティをTrueにすること画面にIEを表示させることができます。
Navigate2メソッドで指定したURLを開く
ではいよいよIEを起動させてみます。やりかたはとってもカンタン。
と書くことでダブルコーテーション内で指定したURLを開くことができます。一般的に指定したURLを開くメソッドはNavigateです。しかし上記コードではNavigate2になっているに気づきましたか?これにはきちんした理由があります。
今回のように複数のサイトを一度に開く場合、Navigateメソッドでやろうとすると、サイトの数だけIEが起動してしまうんです。今回の場合だと3つのIEが立ち上がることになります。
そこで下記のように書きます。
Navigate2メソッドを使って引数に「&H800」を指定することで、1つのIEで複数サイトを別タブで開くことができます。
上のプログラムでは以下の部分です。1つ目のURLを開くときは引数「&H800」は必要ありません。
'指定したURLを開く objIE.Navigate2 "https://news.google.com/news/?edchanged=1&ned=jp&hl=ja" '新しいタブで表示 objIE.Navigate2 "https://weather.yahoo.co.jp/weather/", &H800 objIE.Navigate2 "https://transit.yahoo.co.jp/", &H800
アプリケーションを実行してみる
では実際に起動してみます。デスクトップにある「IE起動.vbs」をダブルクリックして起動します。
さきほどNavigate2メソッドで指定したWEBサイトが開きました!
まとめ
いかかでしたか?今回の内容をまとめると以下のようになります。
- WEBスクレイピングとはIEを操作して、WEBサイトに自動でログインしたり、膨大な情報の中から必要な情報だけを取得するテクニック
- Navigate2メソッドを使えば複数サイトを別タブで表示できる
用途別に起動ファイルを作っておけば、業務ごとに使い分けられるので便利です。今回は以上です。それではお疲れさまでした~。
連載目次:VBScriptでお手軽WEBスクレイピング
Windowsを操作できるプログラミング言語「VBScript」を使えば、InternetExplorerを操作してWEBスクレイピングが可能です。 これで日々の情報収集はダブルクリック一発で完了させましょう!- VBScriptでInternet Explorerを使って複数WEBサイトをダブルクリック一発で開く方法
- VBScriptでWEBスクレイピング!ファイルシステムオブジェクトでテキストに書き出す
- VBScriptでWEBスクレイピング!HTMLドキュメントとタイトルを取得する方法
- VBScriptでWEBスクレイピング!ブラウザの読み込み待ちをしてエラーを回避する
- VBScriptでWEBスクレイピング!aタグのリンクURLを全部取得する方法
- VBScriptでWEBスクレイピング!aタグのリンクURLをHTMLとして書き出す
- VBScriptでWEBスクレイピング!hタグを取得してHTMLとして書き出す
- VBScriptでWEBスクレイピング!テーブル要素を取得してCSVファイルで書き出す
- VBScriptでWEBスクレイピング!アメブロの管理画面に自動でログインする方法
- VBScriptでWEBスクレイピング!アメブロの投稿記事一覧をテキストファイルに書き出す方法