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