次のようなtxtファイルを解析しようとしています:
Disallow: /cyberworld/map/ # This is an infinite virtual URL space
Disallow: /tmp/ # these will soon disappear
Disallow: /foo.html
ファイルを読み取り、「許可しない」の後に URL の部分を抽出する必要がありますが、コメントも無視します。前もって感謝します。
次のようなtxtファイルを解析しようとしています:
Disallow: /cyberworld/map/ # This is an infinite virtual URL space
Disallow: /tmp/ # these will soon disappear
Disallow: /foo.html
ファイルを読み取り、「許可しない」の後に URL の部分を抽出する必要がありますが、コメントも無視します。前もって感謝します。
robots.txtファイルを解析しようとしている場合は、 robotparserモジュールを使用する必要があります。
>>> import robotparser
>>> r = robotparser.RobotFileParser()
>>> r.set_url("http://www.your_url.com/robots.txt")
>>> r.read()
次に、次を確認してください。
>>> r.can_fetch("*", "/foo.html")
False
#
URL に何もないと仮定すると、次のようになります。
with open('path/to/file') as infile:
URLs = [line.strip().lstrip("Disallow:").split("#", 1)[0] for line in infile]
の存在を許可し#
ますが、で始まるコメント#
と URL がスペースで区切られていると仮定します。
with open('path/to/file') as infile:
URLs = [line.strip().lstrip("Disallow:").split(" #", 1)[0] for line in infile]