VBAでWebブラウザ操作を自動化するにあたって、基本的なことをまとめました。
VBAでのWebスクレイピングは初めてだったので、改めて基本的なことを学習したので、Webスクレイピングが初めての方にシンプルにお伝えできればと思います。
Webで使われている通信について
WebブラウザとWebサーバー間のやり取りは、HTTP通信を使って行われます。
インターネットでホームページを見たいとき、このHTTP通信を使ってWebブラウザが要求し、Webサーバーから目的のホームページの情報を受け取ります。
WebブラウザからWebサーバーに要求することを「リクエスト」といい、Webサーバーから帰ってきたデータを「レスポンス」といいます。
Webスクレイピングも、WebブラウザがWebサーバーに要求をして、Webサーバーが要求に応える、の繰り返しで行われます。
HTTP通信のデータ形式について
WebブラウザとWebサーバー間では、JSONという決まったデータ形式でやり取りを行います。例えば以下のようなものがJSONで書かれたデータです。”キー”と”データ”がセットになっています。
{
"name": "太郎",
"phone”:”123-4567 ",
"email":"test@abc.com"
}
Webサーバーにリクエストをする際は、上記のようなJSON形式でリクエストデータを作成して送ります。
そして、Webサーバーからのレスポンスとして、JSON形式でデータが返ってきます。
リクエストについて
リクエストの形式には、いくつか種類があります。主に使用する3つのリクエストメソッドは以下です。
GETリクエスト
GET送信はURLの末尾に「?」とデータを付けて送信します。
GET送信はURLの後ろにデータを付けるため、URLの長さの上限があります。
送信データがURLと一緒にアドレスバーに表示され、データが見えてしまうため、パスワード入力を伴うログイン処理等には向いていません。
POSTリクエスト
POST送信は、データをbody要素に記述して送信します。
GET送信と違い、データの制限や外から見えることはないため、用途によって使い分けると良いです。
例として図書館の本検索サイトで、検索窓に「パソコン 使い方」と入力して、検索ボタンを押した際に送るリクエストデータ例です。下記URLに、JSONデータを内部的に付けて送ります。
DELETEリクエスト
データを削除する際に使用します。URLに削除したい対象のIDを指定します。
レスポンスについて
リクエストデータと同様、レスポンスもJSON形式で返ってきます。例えば、新宿駅の緯度経度をリクエストした場合に返ってくるレスポンスデータは以下のようになります。
{
"name": "新宿駅",
"latitude": "35.689607",
"longitude": "139.700571"
}
まとめ
このようなリクエストデータを使用して、VBAからWebブラウザの操作を行うことができます。
VBAを使用したWebブラウザ操作自動化について、以下に詳しく書いたので見てみてくださいね!
VBAとSeleniumBasicライブラリでブラウザ操作自動化!


Webスクレイピングの基本について、別の記事もありますのでそちらもチェックしておくことをおすすめします。
