# 19 `robotparser` -- robots.txt のためのパーザ

このモジュールでは単一のクラス、`RobotFileParser` を提供します。 このクラスは、特定のユーザエージェントが robots.txt ファイルを 公開している Web サイトのある URL を取得可能かどうかの質問に答えます。 robots.txt ファイルの構造に関する詳細は http://www.robotstxt.org/wc/norobots.htmlを参照してください。

クラス `RobotFileParser`( | )

  このクラスでは単一の robots.txt ファイルを読み出し、解釈し、 ファイルの内容に関する質問の回答を得るためのメソッドを定義しています。

  `set_url`( | url)

    robots.txt ファイルを参照するための URL を設定します。

  `read`( | )

    robots.txt URL を読み出し、パーザに入力します。

  `parse`( | lines)

    引数 lines の内容を解釈します。

  `can_fetch`( | useragent, url)

    解釈された robots.txt ファイル中に記載された規則に従ったとき、 useragent が url を取得してもよい場合には `True` を 返します。

  `mtime`( | )

    `robots.txt` ファイルを最後に取得した時刻を返します。この 値は、定期的に新たな `robots.txt` をチェックする必要がある、 長時間動作する Web スパイダープログラムを実装する際に便利です。

  `modified`( | )

    `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