マナーを守るプログラムに。robots.txtを解釈する.NETライブラリ「RobotsTxt」
RobotsTxtはrobots.txtを解釈する.NET向けライブラリ。
RobotsTxtはWindows用のオープンソース・ソフトウェア。インターネットに関係するソフトウェアを開発しているとクローラーが必要になることがある。そういう時、目的にぴったりマッチしたものは見つからず自作することが多い。
そんな時、必要になるのがrobots.txtを解釈するプログラムだ。もちろん行儀の悪いクローラーも多いが、適切なサービス/ソフトウェアを作るならばrobots.txtを判断すべきだろう。そんな時、WindowsアプリケーションであればRobotsTxtが利用できそうだ。
RobotsTxtはDLL形式で提供されるライブラリで、robots.txtのパーサーだ。まず最初にコンテンツ(テキスト)を読み込ませる。その上でユーザエージェントとアクセスしたいパスを与えるとアクセス可否が返ってくる仕組みだ。シンプルで分かりやすい。
さらにクローラーの頻度を設定する仕組みの判断にも対応している。ミリ秒単位で返ってくるので、設定されていればその間が処理を停止してアクセス過多にならないようにすべきだろう。その他Sitemapやワイルドカード指定にも対応している。コンテンツを取得するようなソフトウェアを開発する際には使ってみよう。
MOONGIFTはこう見る
robots.txtを設置する側にも一定の知識が必要ではあるが、やはりクローリングする側が適切にコンテンツを集積できるように考えなければならない。過剰な負荷は以前あった図書館サイトにアクセスした結果、警察沙汰になったというような結果になりかねない。
MOONGIFTにも時折異常な頻度でアクセスしてくるプログラムなどがあるが、robots.txtに書いた所でまず意味はない。大抵、.htaccessやプログラム側で弾かざるを得ない。そうした労力を相手に押し付けるようなソフトウェアはプログラマーとしては避けるべきだろう。マナーを知る上でもチェックしたいソフトウェアだ。
robotstxt - A robots.txt parser in C# - Google Project Hosting