このページで紹介するメソッド
「LesserScraping(レッサースクレイピング)」は初回起動時にGoogleChrome(以下chrome)の新規プロファイルを作成します。プロファイルを削除してから再実行する場合も同様です。このページではExcelVBA(マクロ)でchromeの新規プロファイルを作成しchromeを自動で起動させる「Start」メソッドについて解説をします。
専用のクラスモジュールを作成する
最初にVBEを起動しクラスモジュールを作成します。次に関数リファレンスから「LesserScraping」のコードをコピペします。クラス名は任意の名称に変更して下さい。以降、当サイトの解説は「LesserScraping」という名称のクラスが存在することを前提とします。適宜自身で設定したクラス名称に読み替えてください。
実行前にマクロファイル(.xlsm)を保存しましょう
「LesserScraping」がchromeの新規プロファイルを作成するためにはマクロファイルの保存場所が確定している必要があります。そのためマクロを実行する前に保存が必要です。※保存前に実行するとエラーが発生します。
サンプルコード(クリックでコピー)
Private Sub Test_LesserScraping_Start()
Dim Driver As LesserScraping: Set Driver = New LesserScraping
Call Driver.Start
Call MsgBox("新しいプロファイルでGoogle Chromeを起動しました。", vbInformation)
Set Driver = Nothing
End Sub
新規プロファイルの作成
上記サンプルコードを実行すると、chromeが初回起動時の画面で立ち上がり、マクロがメッセージを表示します。また、マクロと同じ階層にchromeのショートカットが作成されています。※初回起動時のサンプル画面↓は執筆時点(129.0.6668.71:2024/10/01更新)の情報です。
GoogleChromeの設定をする
起動したchromeはみなさんが普段使用しているchromeとは別のプロファイルで作成された新規のchromeです。そのため既存のchromeに保存しているログイン情報などは引き継がれていません。スクレイピングを実施するためにログイン情報が必要な場合は、新たに作成されたchromeに新規にパスワードなどを保存します。
サンプルコードを再度実行する
chromeの設定が完了したら、chromeを閉じて、サンプルコードを再度実行してみましょう。今度は初回起動時の画面ではなく、デフォルトのGoogleの検索窓が立ち上がります。
【結果】新しいプロファイルのchromeが立ち上がりました
chromeが自動で立ち上がったことが確認できました。なお、この起動したchromeを閉じずにそのまま再度サンプルコードを実行すると、今度は、新規のchromeは立ち上がりません。これはすでに開かれているchromeがある場合「LesserScraping」は既存のchromeをキャッチしてそのまま操作をするためです。この機能によって「LesserScraping」では簡単に手動操作を引き継いでスクレイピングをすることができます。
業務用PCでスクレイピングするなら「LesserScraping」
業務用PCでExcelVBA(マクロ)からWebスクレイピングをしようとすると「Selenium Basic」の導入でつまずく方は多いです。当サイトでは劣化版Selenium Basicと呼べる「Lesser Scraping」を開発し無償で公開しています。
Comment