"urllib.robotparser" ---  robots.txt 用のパーサー
*************************************************

**ソースコード:** Lib/urllib/robotparser.py

======================================================================

このモジュールは、"robots.txt" ファイルを公開しているウェブサイトから
、特定のユーザーエージェントが URL を取得してよいかどうかを判定するク
ラス "RobotFileParser" を提供します。 "robots.txt" ファイルの構造の詳
細は **RFC 9309** を参照してください。

class urllib.robotparser.RobotFileParser(url='')

   *url* の "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" ファイルを最後に取得した時刻を現在の時刻に設定しま
      す。

   crawl_delay(useragent)

      "robots.txt" から、指定した *useragent* に対応する "Crawl-delay"
      パラメータの値を返します。 パラメータがない、指定した
      *useragent* に適用されない、または "robots.txt" の該当エントリー
      の構文が無効な場合は、"None" を返します。

      Added in version 3.6.

   request_rate(useragent)

      "robots.txt" の "Request-rate" パラメータの内容を、*名前付きタプ
      ル* "RequestRate(requests, seconds)" として返します。 パラメータ
      がない、指定した *useragent* に適用されない、または "robots.txt"
      の該当エントリーの構文が無効な場合は、"None" を返します。

      Added in version 3.6.

   site_maps()

      "robots.txt" の "Sitemap" パラメーターの内容を "list()" の形式で
      返します。そのようなパラメーターが存在しないか、 "robots.txt" の
      このパラメーターのエントリの構文が無効な場合は、 "None" を返しま
      す。

      Added in version 3.8.

以下に "RobotFileParser" クラスの利用例を示します。

   >>> import urllib.robotparser
   >>> rp = urllib.robotparser.RobotFileParser()
   >>> rp.set_url("http://www.pythontest.net/robots.txt")
   >>> rp.read()
   >>> rrate = rp.request_rate("*")
   >>> rrate.requests
   1
   >>> rrate.seconds
   1
   >>> rp.crawl_delay("*")
   6
   >>> rp.can_fetch("*", "http://www.pythontest.net/")
   True
   >>> rp.can_fetch("*", "http://www.pythontest.net/no-robots-here/")
   False
