【发布时间】:2016-08-16 11:00:41
【问题描述】:
我使用 Python 的机器人解析器已经有一段时间了,它运行良好。今天早上我浏览了一个网站,其中包含一个看起来非常宽松的 robots.txt 文件:
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。 Google 也将它们编入索引。
似乎是 Python 库中的一个错误。怎么回事?
【问题讨论】:
-
我不知道RobotParser,只是一个想法:如果你使用相同的主机,同样的问题?您使用
newenglandreptileshop.com(不带www),然后使用www.newenglandreptileshop.com(带www)。 -
好眼光。不幸的是,这没有帮助。
标签: python web-crawler robots.txt