プログラムによるWebブラウジングの方法
本サイトでは、プログラムやツールによってネットサーフィン(Webブラウジング)する方法や、
Webページから必要な情報を抽出したりする方法について解説しています。
具体的には、
- プログラムでWebブラウザを操作する方法
- ブラウザを組み込んだアプリケーションを作成する方法
- Webスクレイピング(Webページから必要な情報を解析して抜き出す)する方法
- Webサービス(Google Apps Script等)を使った、Webアクセス/スクレイピングする方法
Webブラウジングの方法
プログラムによりWebブラウジングする方法として、大きく以下の3つの方法があります。
- プログラムでブラウザを操作する方法
- アプリケーションにWeb機能を組み込む方法
- Webブラウジングを自動で行えるツールを使う方法
ブラウザを操作するアプリケーションの開発
ExcelのVBAや、C#/VBでプログラムすることでInternetExplorerを操作できます。
Webブラウザを操作するライブラリのSeleniumを使うことで、ChromeやEdgeブラウザ等を操作する事ができます。
ブラウザ機能を組み込んだアプリケーションの開発
ExcelのVBAや、C#/VBには、Web機能をもったコントロールがあります。
アプリに組み込むことで、Webの操作が行えます。
また、ElectronやTauri等を使う事でもアプリケーションが作成できます。
- WebBrowserコントロールを使う
- WebView2コントロールを使う
- Electronによる独自ブラウザ機能を組み込んだアプリ作成
- Tauriによる独自ブラウザ機能を組み込んだアプリ作成
ブラウザを操作できるアプリケーションを使う
ブラウザを操作できるアプリケーションを使って、自由にブラウジングを行うことができます。
- Chrome拡張機能を使う
- Chrome DevTools (Recorder)を使う
- Power Automate for desktopを使う
- Automatorを使う
- puppeteerを使う
- Playwrightを使う
Webアクセスを行えるWebアプリケーションを利用する
Googleが提供しているGoogleAppScriptでは、Webのアクセスを行うプログラムが行えます。
InternetExplorerを操作する
Microsoftの開発環境であるVisualStudio(C#/VB.NET)や、ExcelのVBAにより、
InternetExplorerを操作するプログラムが作成できます。
プログラムにより、InternetExplorerの起動、ページの表示、文字入力やクリックする、などの操作が行えます。
VisualStudio(VB.NET/C#)でInternetExplorerを操作する方法はこちらをご覧ください。
VisualStudioでInternetExplorerを操作する方法
Excel(VBA)でInternetExplorerを操作する方法はこちらをご覧ください。
Excel VBAでInternetExplorerを操作する方法
ブラウザを操作するライブラリを使う(Selenium)
Webブラウザを操作するライブラリのSeleniumを使うことで、各種ブラウザを操作するプログラムが作成できます。
動作するOSは、Windows、Linux、Mac。
開発言語はC#、Java、PHP、Python、Ruby、Scala、等が使えます。
使用する方法はこちらをご覧ください。
Seleniumによるブラウザーの自動操作
WebBrowserコントロールを使う
VisualStudioやExcelVBAに用意されている「WebBrowserコントロール」を使うことで、
Webブラウザの機能をもったWindowsアプリケーションを作成できます。
アプリケーション内にブラウザ機能を組み込み、サイト表示や文字入力やクリックなどのWeb操作が行えます。
開発言語はC#またはVB.NET。Excelの場合はVBAです。
※VisualStudioでは「WebBrowserコントロール」よりも新しい「WebView2コントロール」が使われています
VisualStudio(VB.NET/C#)でWebBrowserコントロールを使用する方法はこちらをご覧ください。
VisualStudioでWebBrowserコントロールを使用する方法について
Excel(VBA)でWebBrowserコントロールを使用する方法はこちらをご覧ください。
Excel VBAでWebBrowserコントロールを使用する方法について
WebView2コントロールを使う
VisualStudioに用意されている「WebView2コントロール」を使うことで、
Webブラウザの機能をもったWindowsアプリケーションを作成できます。
アプリケーション内にブラウザ機能を組み込み、サイト表示や文字入力やクリックなどのWeb操作が行えます。
開発言語はC#またはVB.NETです。
開発環境を整えるために必要な手順はこちらを参照ください。
WebView2コントロールの準備
基本的な使い方についてはこちらを参照ください。
WebView2コントロールでの操作
WebView2コントロールとWebページ(JavaScript)の連携
Google App Scriptを使う
GoogleのWebサービスである「Googleスプレッドシート」と、
Webアクセスを行える「Google Apps Script」を使って、Webスクレイピングを行えます。
開発言語はJavaScriptです。
ブラウザを使ってコーディングから実行まで行えるので、環境構築作業が不要です。
Webページを表示したり直接操作することはできませんが、GET等のリクエスト送信とレスポンス取得が行えますので、
ページの情報を取得して加工するアプリが作成できます。
例えば、WebAPI(Json)が公開されているサイトからデータを取得し、スレッドシートに張り付ける、等。
使用する方法はこちらをご覧ください。
Google Apps Script (GAS)について
Chrome拡張機能を使う
Chromeを使っている人は、Chromeウェブストアから便利な拡張機能をインストールして使っていると思いますが、
この拡張機能は自作することもできます。
自分がブラウザ操作を行わせたい内容で拡張機能を作りましょう。
Power Automate for desktopを使う
MicrosoftのRPAソリューションで、ブラウザの自動操作やデスクトップアプリの自動操作等を行えます。
操作内容やパラメータを「フロー」として設定して動作させますので、プログラムの知識がなくても作成が行えます。
また、操作内容の記録・再生が行えますので、複雑な自動操作でなくて構わないときは、
本ツールを使うのが手っ取り早いです。
OS/開発言語別、Web操作方法
ブラウザを操作するアプリケーションの開発
操作できるブラウザ | 対応OS | 開発環境 | 開発言語 |
---|---|---|---|
InternetExplorer操作 | Windows | Visual Studio/VBA | C#、VB.NET、VBA |
Chrome、Edge、Firefox、Safari、等 | Windows/macOS/Linux | 各種言語向けの開発環境 Selenium WebDriverライブラリ |
C#、VB.NET、Java、JavaScript、Python、Ruby、等 |
ブラウザ機能を組み込んだアプリケーションの開発
組み込むブラウザ機能 | 対応OS | 開発環境 | 開発言語 |
---|---|---|---|
WebBrowserコントロール (InternetExplorer) |
Windows | Visual Studio/VBA | C#、VB.NET、VBA |
WebView2コントロール (Edge) |
Windows | Visual Studio | C#、VB.NET |
独自ブラウザ (Chromium) |
Windows/macOS/Linux | Electronアプリを使用 | Node.js/html/JavaScript |
独自ブラウザ (各OSに適したブラウザエンジン) |
Windows/macOS/Linux | Tauriアプリを使用 | Rust/Node.js/html/JavaScript |
ブラウザを操作できるアプリケーション
アプリケーション名 | 操作できるブラウザ | 動作環境/開発環境 | 開発言語 | 備考 |
---|---|---|---|---|
Chrome拡張 | Chrome | Chromeブラウザ | ||
Chrome DevTools (Recorder) | Chrome | Chromeブラウザ | ||
Power Automate Desktop | Edge、Chrome | Windows10以降 | ||
Automator | macOS | |||
puppeteer | Chrome | Windows/Linux/macOS | Node.js | |
Playwright | Chrome、Edge、Firefox、Safari | Windows/Linux/macOS | Node.js/TypeScript/JavaScript |
Webアクセスを行えるWebアプリケーション
Webサービス | 動作環境/開発環境 | 開発言語 |
---|---|---|
Google App Script | Webブラウザ | JavaScript/HTML |