GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • http — HTTP modules
  • Report a bug
  • Improve this page
  • Show source
  • index
  • modules
  • previous
  • Python
  • 3.15.2 documentation
  • The Python standard library
  • Internet Protocols and Support
  • urllib.robotparser — Parser for robots.txt

This view

  • Original page
  • New address

GeezerVison is showing docs.python.org — urllib.robotparser — Parser for robots.txt

urllib.robotparser — Parser for robots.txt¶

Source code: Lib/urllib/robotparser.py


This module provides a single class, RobotFileParser, which answers questions about whether or not a particular user agent can fetch a URL on the website that published the robots.txt file. For more details on the structure of robots.txt files, see RFC 9309.

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

This class provides methods to read, parse and answer questions about the robots.txt file at url.

set_url(url)¶

Sets the URL referring to a robots.txt file.

read()¶

Reads the robots.txt URL and feeds it to the parser.

parse(lines)¶

Parses the lines argument.

can_fetch(useragent, url)¶

Returns True if the useragent is allowed to fetch the url according to the rules contained in the parsed robots.txt file.

mtime()¶

Returns the time the robots.txt file was last fetched. This is useful for long-running web spiders that need to check for new robots.txt files periodically.

modified()¶

Sets the time the robots.txt file was last fetched to the current time.

crawl_delay(useragent)¶

Returns the value of the Crawl-delay parameter from robots.txt for the useragent in question. If there is no such parameter or it doesn’t apply to the useragent specified or the robots.txt entry for this parameter has invalid syntax, return None.

Added in version 3.6.

request_rate(useragent)¶

Returns the contents of the Request-rate parameter from robots.txt as a named tuple RequestRate(requests, seconds). If there is no such parameter or it doesn’t apply to the useragent specified or the robots.txt entry for this parameter has invalid syntax, return None.

Added in version 3.6.

site_maps()¶

Returns the contents of the Sitemap parameter from robots.txt in the form of a list(). If there is no such parameter or the robots.txt entry for this parameter has invalid syntax, return None.

Added in version 3.8.

The following example demonstrates basic use of the RobotFileParser class:

>>> 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
© Copyright 2001 Python Software Foundation.
This page is licensed under the Python Software Foundation License Version 2.
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
See History and License for more information.

The Python Software Foundation is a non-profit corporation. Please donate.

Last updated on Nov 12, 2026 (14:21 UTC). Found a bug?
Created using Sphinx 9.1.1.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.