VBA×ChromeでWebスクレイピング難しい初期設定を分かりやすく解説

このサイトはアフィリエイト広告(Amazonアソシエイト含む)を掲載しています

VBA×ChromeでWebスクレイピングを始める

Webからテキストや画像などの情報を取得する方法の1つにWebスクレイピングがあります。

特定の手法でWebにアクセスし情報を取得したりWeb内のテキストボックスに情報を入力することができます。

このWebスクレイピングですが数年前までは作業を実行する際に使用される主なブラウザはIEでした。

しかしMicrosoftさんは2022年6月をもってInternetExplorerのサポートを終了しています。

この事からEdgeやChromeなど他のブラウザを使った別の方法が求められるようになってきました。

本記事では今後定番となるSeleniumbasicを使ったWeb情報を取得する方法について紹介、解説していきます。

読み方はセレニウムベーシックです。英語表記の方が使用頻度が高いです。できるだけ英語名で覚えてください。

EnjoyExcel

Webスクレイピングはやり方さえ分かればそんなに難しくないです。

以降の記事の中でアプリのダウンロードからコードの書き方まで一貫して情報提供します。

この記事でわかる事

大きく分けると3つです。

  1. Webスクレイピングの概要が分かる
  2. Seleniumbasicの概要が分かる
  3. 環境を構築する為の方法が分かる

WebスクレイピングやSeleniumbasicとは何かを間単に説明してから初期設定(環境構築)を説明します。

初期設定(環境構築)は非常に手間がかかります。よって丁寧に解説していきます。

最後に出来るだけ間単にコードを書く為のヒントになる記事を何点か用意していますのでご覧ください。

最終的には「VBAを使ってExcelからChromeやEdgeを操作できる」様になります。

関連書籍:この本で勉強しました

こちらの書籍は電子書籍がおすすめです。

目次(各項目へのリンク機能付き)

Webスクレイピングについて

Wikipediaの情報です。

ウェブスクレイピング: Web scraping)

ウェブサイトから情報を抽出するコンピュータソフトウェア技術のこと

Wikipedia

http://で始まるWebサイトから情報を抽出する為の方法、行為をWebスクレイピングと呼んでいます。

Seleniumbasicについて

簡単に言いますと「ExcelからWebブラウザを操作するためのツール」です。

Webスクレイピングと絡めて会話で使う際には以下のような使い方をします。

使い方の一例:Seleniumbasicを使ってWebスクレイピングする

ExcelからみたSeleniumの位置付けとしては一般的にはライブラリと言われるものに該当します。

ライブラリがイメージ出来ない方は以下引用をご覧ください。

ライブラリ

汎用性の高い複数のプログラムを再利用可能な形でひとまとまりにしたものである。

ライブラリと呼ぶときは、それ単体ではプログラムとして動作させることはできない、つまり実行ファイルではない場合がある。

ライブラリは他のプログラムに何らかの機能を提供するコードの集まりと言える。

Wikipedia

続いてSeleniumbasicとVBAを関連付けて考えていきましょう。VBAでSeleniumを使う際は参照設定を使います。

インストールするとVBAの参照設定で「Selenium Type Library」が選択出来る様になります。

処理がイメージ出来るような画像を用意

ドライバーがWeb環境との橋渡し役になり必要な情報を取り出してくるという仕組みです。

Web環境とSeleniumbasicとExcelとの関係
Seleniumが情報の橋渡しをしてくれます。

こんな使い方もあります

スクレイピングはWebサイトから情報を抽出する為の方法、行為と書きましたがこんな使い方もできます。

Webサイトに設置してあるボタンをクリックしたり検索窓に文字を入力する事も出来ます。

よって人が実際に作業するようなことも再現できます。

  • Google翻訳に文字を入力して翻訳された情報を取り出す
  • 各種WebAppへのログインを代行させる
  • 天気予報や株価のサイトで個別情報を入力してリアルタイムで生成されたデータを取り出す

こちらの記事では1クリックでYahooのニューストピックスを全て取得する動画を用意しています。

Webスクレイピングはどんなことができるの?

環境構築

先にやらないといけない事を書き出しておきます。

作業フロー
STEP
Seleniumbasicのダウンロードとインストール

アプリのDLとインストールについて順を追って説明

STEP
Chromeのダウンロードとインストールとバージョン確認

ブラウザ(Chrome)のダウンロードとインストールを行います

ブラウザのバージョンに対応したドライバーを用意します

STEP
Chromeドライバーをダウンロード

ブラウザのバージョンと同じドライバーをDL

STEP
Chromeドライバーを上書保存

Seleniumがデフォルトで持っているドライバーを上書き

STEP
VBEの参照設定で必要なライブラリを選択

Selenium Type Library を選択

5番のVBEの参照設定はコーディング時に「実行時バインディング」にする事でマストではなくなります。

基本は上記4点は必須だと思って下さい。

実行時バインディングが分からない人は作業内容の1から5までもれなく準備してください。

続いて私のPC環境について情報展開しておきます。

私のPC環境
  • 使用するブラウザ:Google Chrome
  • OS:Windows10

重要なのは自動で動かすことを想定しているブラウザの種類と自PCに搭載されているOSの種類です。

これをふまえて作業を紹介していきます。

Edgeの方にも参考になる情報となっています。このまま読み進めてください。

1_Seleniumbasicのダウンロードとインストール

まずはSeleniumbasicのダウンロードです。以下URLにアクセスしましょう。

公式サイトはこちら

以下TOP画面です。

Selenium basicのダウンロード画面


少し下の方を見ていくと太字のDownloadという文字が出てきます。その下のRelease pageをClick。

リリースページ

次の画面では中断よりやや下AssetsからSeleniumBasic-2.0.9.0.exeを選択。

これはダウンロード時のバージョンで最新のものを選択してください。

ダウンロードポイント

インストーラーをダウンロード出来る様になります。作業し易い様にデスクトップにダウンロードしましょう。

インストーラーをClickすると以下のような画面が起動してきます。「Next」をクリック。

セットアップ-1

次のダイアログボックスではI accept ・・・ にチェックを入れます。その後「Next」をクリック。

セットアップ-2

WebDriver for Chrome にレ点を入れます。続いてIEのレ点を外しましょう。その後「Next」をクリック。

セットアップ-3

最終的にこの画面で「Install」をクリックしてインストール開始となります。

セットアップ-4

インストールが進むとプログレスバーが動いて作業の進捗を見る事ができます。

インストールが終了するとその旨を伝えるダイアログボックスが立ち上がります。

「Finish」ボタンをクリックしてください。インストールはこれで終了です。

セットアップ-5

余談ですが既にインストール済みだと4番の画像の後にこのようなダイアログボックスが立ち上がります。

通常は見る事が無い画像ですが一応お見せしました。スルーして次の画面に進みます。

セットアップ-6

2_Chromeのダウンロードとインストールとバージョン確認

Chromeのダウンロード、インストール、バージョン確認について説明します。

Chromeのダウンロード

Chromeのダウンロード、インストールは難しくないので省略します。(Chromeのダウンロード先のリンク

必要に応じてダウンロードとインストールをお願い致します。

Chromeのバージョン確認

バージョンを確認する方法を紹介します。Chromeを起動してアドレスバーに以下の様に入力してください。

chrome://version

一番上の値を確認。私は 105.0.・・・という数値です。

先頭の3文字だけでおおよそ大丈夫ですが画像の赤枠にある程度の桁まで数値を控えておきましょう。

Chromeのバージョン確認

3_Chromeドライバーをダウンロード

以下URLにアクセスしましょう。

お知らせ:2024年05月29日に確認したところ操作画面に変更がありました。情報を更新します。

上に用意したURLに進むと以下画面が表示されます。赤枠で囲んだ部分がリンクになっています。

こちらをクリックしましょう。

Chromeドライバーのダウンロード

最新のChromeドライバーのラインナップを見ることができます。

私は125.0.6422.112でしたのでStableをクリックしました。

Chromeドライバーのバージョン確認

するとStableで選択できる要素が並んだ画面に遷移します。

少し色が濃くなっているwin64仕様のドライバーをダウンロードしたところ操作が繋がりました。

皆様は各自ご使用のPCの仕様に合わせて選択する様にしてください。

Chromeドライバーの選択

参考:Chromeドライバーのサイトは操作画面が変化しています

時系列で履歴を残すようにしました。日付が一番近い折りたたみ(アコーディオン)を展開してください。

2023/08/23

依然としてHOME画面で最新版へのリンクは表示されません。

HOME画面で画像の赤枠の場所をクリックすると最新版を取りに行く事ができます。

ご自身のバージョンを確認いただき赤枠内のリンクをクリック。

私はVersionが116.0.5845・・・のWindows64ビット版をダウンロードしました。

画像内で赤枠を使って指示しているURLをコピーしてブラウザのURLバーにペーストします。

キーボードのEnterをクリックでダウンロードデータが用意されます。

(直ぐにダウンロード先を指示するダイアログ画面が出てきます)

デスクトップなどに落としてChromeドライバーを手に入れてください。

ご注意ください

一番左の列のBinaryでは「chromedriver」を選ぶ様にしましょう。(chromeではないです)

2023/07/19

2023/07/19 情報を追加します。

自PCにインストールしているドライバーが古くなりエラーが発生しました。

メッセージには115.・・・というバージョンが書かれているのでその情報を頼りにドライバーを探します。

ドライバーを探しにいったのですが115.・・・のバージョンはドライバーが用意されていませんでした。

仕方ないので一番最新であろうと思われる114.0.5735.90のドライバーをインストールしました。

結果としては問題なく実行できました。

ドライバーがChromeの最新バージョンに追いつかない事もあるみたいです。

その時は最新のドライバーをインストールしてみてください。

~2022年10月ごろの操作画面

ずっと下に見ていく中で自分PCのChromeのバージョンと同じものをダウンロードします。

先頭の3文字が一致していれば大丈夫です。

今回私はCurrent Releasesの105.0.・・・をダウンロードしました。

次の画面ではOS毎にドライバーを選択します。

自分のPCはWindowsですので下から2番目のzipファイルをダウンロードします。Windowsは一択です。

4_Chromeドライバーを上書保存

先程Seleniumbasicをインストールしました。その中にChromeのドライバーが居るのですが最新ではないです。

まずは最新のドライバーをインストールしましょう。

その後Seleniumbasicがデフォルトで持っているドライバーと入れ替えてください。

理由はSeleniumbasicをインストールした時に保持しているドライバーがかなり古いものだからです。

インストールされたSeleniumの在り処(デフォルトの場合)

C:\Users\(ここは各ユーザー名)\AppData\Local\SeleniumBasic

ユーザー名がABCだったら : C:\Users\ABC\AppData\Local\SeleniumBasic

2024年02月に以下画像を追加Seleniumをインストールした際の周辺データの画像です。

Chromeについては2024年02月にドライバーを入れ替えましたので最新ですがEdgeのドライバーは2015年のままです。

この様にSeleniumbasicをインストールした際はどのブラウザのドライバーも古いドライバーが備付けられています。

インストール後は各自が使用するブラウザに対して最新のドライバーを用意する必要があります。

Chromeドライバーの置換
インストール時に備え付けられているドライバーは仕様が古いので入れ替える必要があります。

具体的に何をやるかと言いますと単純に置き換えて(上書き)ください。

先程ダウンロードしたドライバーを上記フォルダにドラッグアンドドロップしましょう。

「上書きしますか?」というような問い合わせが出るので上書きしてください。ドライバー関連の作業は終了です。

関連記事:Edgeで環境構築

EdgeでWebスクレイピングを検討されている方はEdge用のドライバーをインストールしましょう。

Chromeと違ってドライバーにひと手間加える必要があります。詳細はこちらをご覧ください。

関連記事

5_VBEの参照設定で必要なライブラリを選択

やっとExcelの話になりましたね。お馴染みのVBEを開きます。

参照設定から Selenium Type Library を見つけてレ点を入れてから「OK」ボタンをクリックしましょう。

VBE_参照設定

参照設定はライブラリの解説時に説明済です。文字に用意されたリンクで説明している場所にジャンプします。

あくまで希望ですがスクレイピングをやる人はスキルとして参照設定の意味は分かっていてほしいです。

これでやっと環境構築が完了しました。

ブラウザは定期的にバージョンアップします

各ブラウザは不定期でバージョンアップします。

その時にSeleniumbasicに備えたドライバーもインストールする必要があります。

ドライバーが最新じゃない時はVBAでコードを実行した際にエラーで止まります。

「ドライバーが古いな」と気付きます。

このサイトのリンクを持っておきましょう

メンテナンス時は再度先程の設定と同じようにドライバーをダウンロードしましょう。

Seleniumbasicが持っているドライバーを上書きしてください。

この様に定期的にメンテナンスが必要です。環境を最新に保つ必要があります。

加えて見ていただいた様に非常に手間がかかります。

対策:この記事のリンクを持っておきましょう

記事を用意した私自身も実際にこのURLに来て都度ドライバーをインストールしています。

ドライバーのバージョンアップに合わせて作業をするので不定期になります。

そんな時にツールの置き場所(この記事)が決まっているのでメンテナンス時間を大幅に短縮できます。

簡単なコードの書き方を紹介

コードの書き方については別記事で紹介しています。

出来るだけ身近なケースを用意して簡単なコードでスクレイピングしていますのでご覧ください。

VBA×Selenium×Cromeで簡単Webスク|Nameタグを使う

右クリックやダブルクリック、マウスホバーについて解説しています。

【selenium×VBA】右クリックを含めたマウス操作を再現

私はXPathの方がスクレイピングしやすいです。理由は記事を見ていただく事で分かります。

VBA×Chrome/Edgeでスクレイピング|XPathとは?|動画で解説

XPathを指定したうえでそのパスにある他の属性を取得する事もできます。

【selenium×VBA】XPath指定でClass属性を取得

まとめ

私の印象では最初は環境構築7コード3という比率で環境構築の方が圧倒的に面倒で手間です。

  • Seleniumのダウンロードとインストール
  • ブラウザ毎にドライバーを用意してSeleniumの環境にセットする
  • ブラウザのバージョンアップの度にドライバーを再インストールする必要がある

慣れると環境構築2コード8ぐらの比率に変わってきます。

スクレイピングに慣れてくると色々なWeb画面と対峙する事になります。

複数のURLに対応する為にコードのアレンジが必要になります。

よってコードの事を考える比率が多くなり上記の様な比率に至ります。

簡単かつ最短距離でWebスクレイピングを解説してきました。難しかった人も居るはずです。

分かりにくい時は分かっている人に聞きましょう。以下リンクをご覧ください。

EnjoyExcel

おすすめ記事
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!