"urllib.robotparser" ---  Analizador para robots.txt
****************************************************

**Código fuente:** Lib/urllib/robotparser.py

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

Este módulo proporciona una sola clase, "RobotFileParser", la cual
responde preguntas acerca de si un agente de usuario en particular
puede o no obtener una URL en el sitio Web que publico el archivo
"robots.txt". Para más detalles sobre la estructura del archivo
"robots.txt", consulte http://www.robotstxt.org/orig.html.

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

   Esta clase proporciona métodos para leer, analizar y responder
   preguntas acerca de "robots.txt"

   set_url(url)

      Establece la URL que hace referencia a un archivo "robots.txt".

   read()

      Lee la URL "robots.txt" y la envía al analizador.

   parse(lines)

      Analiza el argumento *lines*.

   can_fetch(useragent, url)

      Retorna "True" si el *useragent* tiene permiso para buscar la
      *url* de acuerdo con las reglas contenidas en el archivo
      "robots.txt" analizado.

   mtime()

      Retorna la hora en que se recuperó por última vez el archivo
      "robots.txt". Esto es útil para arañas web de larga duración que
      necesitan buscar nuevos archivos "robots.txt" periódicamente.

   modified()

      Establece la hora a la que se recuperó por última vez el archivo
      "robots.txt" hasta la hora actual.

   crawl_delay(useragent)

      Retorna el valor del parámetro "Crawl-delay" de "robots.txt"
      para el *useragent* en cuestión. Si no existe tal parámetro o no
      se aplica al *useragent* especificado o la entrada "robots.txt"
      para este parámetro tiene una sintaxis no válida, devuelve
      "None".

      Nuevo en la versión 3.6.

   request_rate(useragent)

      Retorna el contenido del parámetro "Request-rate" de
      "robots.txt" como una *tupla nombrada* "RequestRate(requests,
      seconds)". Si no existe tal parámetro o no se aplica al
      *useragent* especificado o la entrada "robots.txt" para este
      parámetro tiene una sintaxis no válida, devuelve "None".

      Nuevo en la versión 3.6.

   site_maps()

      Retorna el contenido del parámetro "Sitemap" de "robots.txt" en
      forma de "list()". Si no existe tal parámetro o la entrada
      "robots.txt" para este parámetro tiene una sintaxis no válida,
      devuelve "None".

      Nuevo en la versión 3.8.

El siguiente ejemplo demuestra el uso básico de la clase
"RobotFileParser":

   >>> import urllib.robotparser
   >>> rp = urllib.robotparser.RobotFileParser()
   >>> rp.set_url("http://www.musi-cal.com/robots.txt")
   >>> rp.read()
   >>> rrate = rp.request_rate("*")
   >>> rrate.requests
   3
   >>> rrate.seconds
   20
   >>> rp.crawl_delay("*")
   6
   >>> rp.can_fetch("*", "http://www.musi-cal.com/cgi-bin/search?city=San+Francisco")
   False
   >>> rp.can_fetch("*", "http://www.musi-cal.com/")
   True
