実現したいこと
- urllib.robotparserを用いて、Twitterのrobots.txtを読み込み、robots.txtの内容とcan_fetch()の結果が同じになるようにしたい
前提
urllib.robotparserを用いて、Twitterのrobots.txtを読み込み、
can_fetch(useragent, url)の結果True/Falseと
robots.txtのAllow/Disallowの結果が同じになるようにしたい
(robots.txtがAllowの箇所は、can_fetch()の返却値がTrueとなる)
発生している問題・エラーメッセージ
どのurlを設定しても、can_fetch()の返却値がTrueとなる
該当のソースコード
Python
1import urllib.robotparser 2rp = urllib.robotparser.RobotFileParser()3rp.set_url('https://twitter.com/robots.txt')4rp.read()5 6# 対象のURLでクローリング可能か確認7res = rp.can_fetch('*', https://twitter.com/oauth")8print(res) # Trueが出力されるがFalseが期待値
試したこと
Twitterのrobots.txtを確認してDisallowのURLということを確認
User-agent: *
Disallow: /oauth
https://twitter.com/robots.txt
補足情報(FW/ツールのバージョンなど)
Python:3.10
0 コメント