13.3. robotparser — robots.txtのパーサー—Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/robotparser
移動先:案内検索

13.3。 robotparser —robots.txtのパーサー

ノート

robotparser モジュールは、Python3でurllib.robotparserに名前が変更されました。 2to3 ツールは、ソースをPython 3に変換するときに、インポートを自動的に適応させます。


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

class robotparser.RobotFileParser(url=)

このクラスは、 url にあるrobots.txtファイルに関する質問を読み取り、解析し、回答するためのメソッドを提供します。

set_url(url)

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

read()

robots.txt URLを読み取り、パーサーにフィードします。

parse(lines)

lines引数を解析します。

can_fetch(useragent, url)

useragent が解析されたrobots.txtファイルに含まれるルールに従って 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