【チュートリアル】VBAでIE自動化ツールを作る(その7) 利用規約(robots.txt)について

こんにちは、自動化エンジニアをしています。kozuです。

エクセルVBAによりWebページの要素(テキストボックス、ボタンなど)を操作したり、表示されている情報を取得する自動化ツールの開発方法を紹介します。実際のWebサイトを自動操作し情報を取得するマクロの開発を通して、自動化ツールの開発について学ぶことができます。

本連載では、チュートリアルということでVBAの開発手順から始め、IEの操作についてどのようなページでも共通で使用できるコード(共通部品)を作成します。最初に共通部品を作成しておくことで、自分でIEの自動化ツールを作成する際に少量の実装で効率よく開発できるようになります。

この章では、Webサイトの利用規約(robots.txt)について解説します。

1.対象者

ブラウザで定期的に手作業で行っているデータ入力やデータ収集等の作業から開放されたい、楽したいと考えている方を対象に、エクセルVBAで自動化するツールの開発ができるようになることを目指しています。プログラミングの経験がない方でも、コードをコピーすれば開発できるようになっています。

2.開発環境

以下の環境を使用します。
バージョンは異なっていても問題ないと思います。
・OS:Windows10
・エクセル:Microsoft Excel2007
・ブラウザ:InternetExploer11

3.robots.txtとは

Webサイトに「robots.txt」が設置されている場合があります。この「robots.txt」には、クローラー(ブラウザを自動操作するロボット)が守るべきルールが記載されています。したがって、VBAでIEを自動操作する場合もこの規約に従う必要があります。

4.robots.txtの確認方法

「robots.txt」の確認方法について、URLのドメインの後ろに「/robots.txt」を付けてアクセスすると確認ができます。(その4)で使用したYahoo路線情報のURLを例に確認してみます。以下のURLにアクセスして確認してみます。

https://transit.yahoo.co.jp/robots.txt

画像1

上記画像のような情報が表示されます。Webの自動操作をするに当たり確認しなければならない箇所が3点あります。

まず1つ目は、「User-agent」です。これは、条件に適用するクローラー(自動操作をするもの)を指します。ここでは「*」となっているため、全てのクローラーが対象になります。

次に、「Disallow」を確認します。これはUser-agentのクローラーがクローリング(自動操作)を行ってはいけないものを指します。複数あるためいくつか見てみます。
「/*.xap$」 →拡張子がxapのファイルが対象
「/diaedit」 →「diaedit」で始まるディレクトリやファイルすべてが対象
「/channel.html」 →「channel.html」のファイルが対象

最後に、「Allow」を確認します。こちらは「Disallow」と見方は同じです。「Disallow」で禁止対象となったディレクトリやファイルについて許可するものが記載されています。


次回はモジュールのエクスポートとインポートについて解説します。

この記事が気に入ったらサポートをしてみませんか?