我正在使用 IBM Watson Natural Language API 扫描特定网页以确定关键字和类别。
但是我遇到了一些将 robots.txt 设置为阻止网站扫描程序的网站的问题。
我直接与这些站点合作,他们将“watson-url-fetcher”的 Watson 代理字符串添加到他们的 robots.txt 文件中。
结果是这只在某些时候有效。
这个简化的 robots.txt 文件有效:
User-agent: *
Disallow: /
User-agent: watson-url-fetcher
Disallow: /manager/
但如果订单发生变化,Watson 将不再工作:重新排序的 robots.txt 失败:
User-agent: watson-url-fetcher
Disallow: /manager/
User-agent: *
Disallow: /
Watson 然后返回错误代码: { "error": "request to fetch blocked: fetch_failed", "code": 400 }
这是 Watson 的错误,还是我需要指示网站始终将 User-agent: * 放在 robots.txt 文件的顶部?