我一直在使用Python的robotparser一段時間,它的工作正常。今天早上我碰到一個網站跑了一個非常寬鬆的期待的robots.txt文件:爲什麼RobotParser會阻止這個結果?
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
然而,出於某種原因,解析器認爲所有URL將被阻止。
import robotparser
rp = robotparser.RobotFileParser("http://newenglandreptileshop.com/robots.txt")
rp.read()
# Try any URL
rp.can_fetch("*", "http://www.newenglandreptileshop.com")
False
我的假設是,爬行所有路徑是允許的,除非被拒絕。我使用了另一個robots.txt解析器來檢查我的假設,並同意我應該能夠訪問此服務器上的大多數URL。谷歌也將它們編入索引。
看起來像Python庫中的錯誤。這是怎麼回事?
我不知道RobotParser,只是一個想法:同樣的問題,如果你使用相同的主機?您可以使用'newenglandreptileshop.com'(不帶'www'),然後使用'www.newenglandreptileshop.com'(帶'www')。 – unor
好眼睛。不幸的是,這並沒有幫助。 –