3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VBAでChromeスクレイピング① ー下準備編ー

Last updated at Posted at 2022-12-14

スクレイピング・・・WEBサイトから情報抽出する技術のこと。
今はPythonなどでよく使われている。

そしてVBAでのスクレイピングは従来はIEでやるのが一般的だったが、IEの廃止によりChromeでやってみた。

VBAでもスクレイピングが可能!

ではどうやってVBAでスクレイピングをするのか?

まず必要なことは、

  • SeleniumBasicのインストール(PCで)
  • ChromeDriverのインストール(PCで)
  • VBAの参照設定(VBE内で)

である。

その他、もしエラーが出た場合は以下の設定も必要になることがある。

  • .NET Frameworkのインストール(PCで)

SeleniumBasicのインストール

SeleniumBasicは、VBAでSeleniumを利用するために必要なものである。
これをまずインストールする。
インストール先はこちら→https://github.com/florentbr/SeleniumBasic

ここから最新のSeleniumをインストールしていく。

インストール終了後はChromeDriverのインストールも引き続きしていく。

[注意]
ここで、SeleniumBasicをインストールしたフォルダの場所をメモしておくと良い。
理由として、後続の処理でChromeDriver.exeをインストールするときに役立つからである。

ChromeDriverのインストール

1. ブラウザのバージョン確認
まず、インストールする前に自分のPC内のChromeブラウザのバージョンを確認する必要がある。
確認のやり方は
1. ブラウザの右上の3点バーをクリック
1. 「ヘルプ」をクリック
1. 「GoogleChromeについて」をクリック
image.png

image.png

これでバージョンが分かる。

2. ChromeDriverダウンロード
この時に、Chromeブラウザのバージョンに合ったChromeDriverをダウンロードする必要がある。

ChromeDriverダウンロード先⇒https://chromedriver.chromium.org/downloads

そして、今回、ブラウザのバージョンは「108」が頭にきているのでそれに合わせる。
つまりこの場合、上から2番目のバージョンをインストールすればいいと分かる。

image.png

3. ChromeDriver.exeの移行

ダウンロードしたZipファイルをダブルクリックし、中身を開く。
すると「ChromeDriver.exe」が出てくるのでそれをコピーし、SeleniumBasicフォルダ内に貼り付ける。
するとSeleniumBasic内にあるChromeDriver.exeが最新になる。

VBE側での参照設定

最後に、VBE側での参照設定を行う。

VBE側で「Selenium Type Library」の参照設定にチェックを入れて保存するだけで良い。
image.png

動作検証

ここまで来たらもうSeleniumでのスクレイピングは可能なはずだが、念のため動作検証をする。
動作検証は一般的に使われることが多い「Yahooを開く」ことでの確認方法を採用する。

やり方としては、以下のコードをVBEに貼り付け動かすだけでOK。
その際正しくYahooが開いたら動作検証はOKである。

Sub test()
  'Selenium制御
  Dim driver As New Selenium.ChromeDriver
 
     'ウィンドウサイズ最大化
     driver.AddArgument "disable-gpu"
     driver.AddArgument "start-maximized"
  
     Call driver.Start("chrome")
     
     'YahooのURLを開く
     driver.Get ("https://yahoo.co.jp")
     
     Stop
End Sub

エラーが出た時の対処方法

もし上の動作検証でエラーが出た場合(特に多いのは「オートメーションエラー」)
以下の設定が足りていないことが考えられる。

  1. ChromeDriverのバージョンがChromeブラウザのバージョンと一致していない
  2. Net FrameworkがPCに入っていない

このうち、1に関しては先ほどの「Chromeドライバのインストール」でブラウザのバージョンをもう一度確認し、それに合ったChromeDriverをダウンロードすると良い。

2に関しては、Net Frameworkを以下のサイトを参考にしてインストールすれば解決できるかもしれない。
https://atmarkit.itmedia.co.jp/ait/articles/1605/09/news018_2.html

その後、もう一度上記テストを行って成功すればめでたしめでたしである。

では次に、実際にVBAでスクレイピングをしてみる。⇒続き実践編へ

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?