ノート
robotparser モジュールは、 Python 3.0 では urllib.robotparser にリネームされました。 2to3 ツールが自動的にソースコードの import を修正します。
このモジュールでは単一のクラス、 RobotFileParser を提供します。このクラスは、特定のユーザエージェントが robots.txt ファイルを公開している Web サイトのある URL を取得可能かどうかの質問に答えます。 robots.txt ファイルの構造に関する詳細は http://www.robotstxt.org/orig.html を参照してください。
このクラスでは単一の robots.txt ファイルを読み出し、解釈し、ファイルの内容に関する質問の回答を得るためのメソッドを定義しています。
robots.txt ファイルを参照するための URL を設定します。
robots.txt URL を読み出し、パーザに入力します。
引数 lines の内容を解釈します。
解釈された robots.txt ファイル中に記載された規則に従ったとき、 useragent が url を取得してもよい場合には True を返します。
robots.txt ファイルを最後に取得した時刻を返します。この値は、定期的に新たな robots.txt をチェックする必要がある、 長時間動作する Web スパイダープログラムを実装する際に便利です。
robots.txt ファイルを最後に取得した時刻を現在の時刻に設定します。
以下にRobotFileParser クラスの利用例を示します。
>>> import robotparser
>>> rp = robotparser.RobotFileParser()
>>> rp.set_url("http://www.musi-cal.com/robots.txt")
>>> rp.read()
>>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")
False
>>> rp.can_fetch("*", "http://www.musi-cal.com/")
True