Twitterのスクレイピング可能かどうかの取得結果が上手く取得できていないように見える

実現したいこと

  • 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 コメント