プログラムによるWebブラウジングの方法

本サイトでは、プログラムによってネットサーフィン(Webブラウジング)したり、 Webページから必要な情報を抽出したりする方法について解説しています。

具体的には、

  • プログラムでWebブラウザを操作する方法
  • Web画面を備えたアプリケーションを作成する方法
  • Webスクレイピング(Webページから必要な情報を解析して抜き出す)する方法
  • Webサービス(Google Apps Script等)を使った、Webアクセス/スクレイピングする方法
について、それぞれの実現方法やプログラム内容を解説しています。

Web操作アプリケーションを作成するための開発環境・プログラミング言語

Web操作を行うアプリケーションの作成には、以下の開発環境やプログラミング言語を使用します。

Visual Studio

Visual StudioはMicrosoftが提供している開発環境で、主にWindowsで動作するアプリケーション開発で使用されています。
プログラム言語としてはVB.NET、C#を使います。
多機能である”Professional”エディションは有料ですが、無料で使える“Community”エディションもあります。

Excel VBA

VBA(Visual Basic for Applications)は、ExcelなどのOfficeアプリケーションで使うことのできるプログラミング言語です。 VisualBasic.NETの簡略版のようなものです。
Excelとの連携が簡単に行えるので、Webを操作したい初心者の人におすすめです。

例えば、毎日ニュースサイトや株式サイトにアクセスし、必要な情報を抜き出してエクセルシートのセルに値を設定する、 ということが行えます。
エクセルなので、収集したデータを加工したり編集したり見栄えを良くしたり、他の開発言語に比べてデータや見た目を非常に楽に扱えます。


Webブラウジングの方法

プログラムによりWebブラウジングする方法として、InternetExplorerを操作する方法や、 各開発言語に用意されているWebコントロールを使用する方法があります。

InternetExplorerを操作する

Microsoftの開発環境であるVisualStudio(C#/VB.NET)やExcel_VBAにより、 InternetExplorerを操作するプログラムが作成できます。
プログラムによって、InternetExplorerの起動、ページの表示し、文字入力やクリックする、などの操作が行えます。

VisualStudio(VB.NET/C#)でInternetExplorerを操作する方法はこちらをご覧ください。
VisualStudioでInternetExplorerを操作する方法

Excel(VBA)でInternetExplorerを操作する方法はこちらをご覧ください。
Excel VBAでInternetExplorerを操作する方法

InternetExplorer操作の実装サンプル

WebBrowserコントロールを使う

VisualStudioやExcelVBAに用意されている「WebBrowserコントロール」を使うことで、
Webブラウザの機能をもったアプリケーションを開発する事ができます。
アプリケーションからはWebのコントロールに対して文字入力やクリックなどのWeb操作が行えます。

VisualStudio(VB.NET/C#)でWebBrowserコントロールを使用する方法はこちらをご覧ください。
VisualStudioでWebBrowserコントロールを使用する方法について

Excel(VBA)でWebBrowserコントロールを使用する方法はこちらをご覧ください。
Excel VBAでWebBrowserコントロールを使用する方法について

WebBrowserの実装サンプル

WebView2コントロールを使う

VisualStudioでWebを表示・操作するコントロールとしては、WebBrowserコントロールの他にWebView2コントロールがあります。
WebBrowserコントロールはInternetExplorerベースで動作しており挙動が怪しいので、 今後はWebView2コントロールを使うことをお勧めします。

WebView2は最新のEdgeブラウザ(Chromium)をベースにしているコントロールです。
動作は安定していますが、WebBrowserコントロールと違ってWebの操作が少し難しいです。

開発環境を整えるために必要な手順はこちらを参照ください。
WebView2コントロールの準備

基本的な使い方についてはこちらを参照ください。
WebView2コントロールでの操作
WebView2コントロールとWebページ(JavaScript)の連携

WebBrowserの実装サンプル

ブラウザを操作するライブラリを使う

Webブラウザを操作するライブラリのSeleniumを使うことで、各種ブラウザを操作するプログラムが作成できます。
Seleniumフレームワークは、VB.NET/C#/Java等でブラウザ操作を行うプログラムが作成できます。

「Selenium」の準備

こちらを参照

Google App Scriptを使う

GoogleのWebサービスである「Googleスプレッドシート」と、 JavaScriptによってGoogleのWebサービスを操作できる「Google Apps Script」を使って、 Webスクレイピングを行えます。

Webページに値を設定するような操作は行えませんが、 htmlやWebAPI(Json)を取得してスレッドシートに張り付けるようなアプリが作成できます。
ExcelVBAでWebスクレイピングを行うような感じで使えます。

使用する方法はこちらをご覧ください。
Google Apps Script (GAS)について

GoogleAppScriptの実装サンプル

OS/開発言語別、Web操作方法

Web操作方法 動作環境/開発環境 開発言語
InternetExplorer操作 Windows/VisualStudio C#、VB.NET
Windows/Excel VBA
WebBrowserコントロール使用 Windows/VisualStudio C#、VB.NET
Windows/Excel VBA
WebView2コントロール使用 Windows/VisualStudio C#、VB.NET、WPF
Selenium IDE Chrome/FireFox/Edge
Selenium WebDriver Windows/macOS/Linux C#、VB.NET、Java、JavaScript、Python、Ruby、etc
Google App Script ブラウザ全般 JavaScript、HTML
Chrome拡張 Chromeブラウザ
Power Automate Desktop Windows10
Electron
Automator macOS