VBA プログラミング

VBAでスクレイピング。指定ワード1位のURLを取得するサンプルプログラム

投稿日:

プロミディア合同会社の斉藤です。

以前クラウドワークス

「Excelの表に企業名がたくさん入っているので、それぞれの企業名で検索して1位に出てきたURLを表に記録していきたい」

という要件があり、VBAでサンプルを作成してみました。

その案件はけっきょく受注できなかったのですが、せっかくなので作成したサンプルを公開します。

VBAでスクレイピング。指定ワード1位のURLを取得するサンプルプログラム

VBAでスクレイピングの仕様

① IEのオブジェクトを利用する

② セルに入力しておいた企業名をキーワードとしてグーグルで検索する

③ レスポンスされたドキュメントから1位のURLが入っている部分を取得して、それを企業名右のセルに挿入する

④ 4秒待つ

 

実装のポイント

実装のポイントだけ以下で解説します。

IEオブジェクトの生成

 

グーグルで検索する

 

検索結果が返されるまで待つ

 

検索結果から1位のURLを取得する

 

1件読み込んだ後に、4秒間何もせず待つようにしています。

このウエイト時間が無いと、50件過ぎたあたりでグーグルから認証が求められてしまうからです。

 

課題

スクレイピングができることを確認するためのサンプルなので、エラー処理など、細かい対応は入れていません。

・読み込み件数は固定値にしています。

・エラー処理は入れていません。

・中断させる処理は入れていません。

 

ダウンロード

VBAスクレイピングサンプル

今回ご紹介したサンプルプログラムは下のボタンからダウンロードできます。

 

 

  • この記事を書いた人
  • 最新記事

斉藤 貞義

プロミディア合同会社代表。 北海道札幌市在住。 会社員としてソフトウェア開発を約13年経験後、PE-BANK所属のフリーランスエンジニアとして独立。 その2年半後に法人成りし、合同会社を設立。 現在は企業に常駐してソフトウェア開発をしつつ、収益を目的としてWebサイト作成、セミナーを開催している。

-VBA, プログラミング

Copyright© プロミディア合同会社 , 2020 All Rights Reserved.