【问题标题】:Fundamental rules of crawling a website爬取网站的基本规则
【发布时间】:2014-08-23 17:22:23
【问题描述】:

我正在研究网站抓取。

我想问以下问题。

  1. 如果某个网站出现在谷歌搜索结果中,我可以抓取该网站吗?

  2. 在一个网站的robots.txt中,写着如下。如何通过浏览器确认本网站禁止抓取的网页?

     Disallow: /usr/top
    

你能告诉我以上问题的答案吗?

【问题讨论】:

  • 你能改写你的第二个问题吗?我不明白。 -- 如果它是一个单独的问题,您可能应该为其创建一个新问题。
  • 对不起。我编辑第二个问题。你能理解吗?
  • 您想要一种方法来轻松查看当前网页(在浏览器中打开)是否在 robots.txt 中被阻止?或者您想确认没有机器人抓取它?或者你想知道这个Disallow 是什么意思吗?还是……?
  • 我想知道 /usr/top 中指明的具体网页 URL。

标签: robots.txt web-crawler


【解决方案1】:

如果某个网站出现在google搜索结果中,我可以抓取该网站吗?

我假设您想要尊重 robots.txt。在这种情况下,答案是:,不一定。

您必须检查 robots.txt。可能是允许 Google 的机器人抓取它,但不允许您的机器人抓取它。

我想知道/usr/top中指明的具体网页网址

当有Disallow: /usr/top 这样的行时,你无法知道哪些现有的 URL 被此阻止了。 Disallow 总是将 URL 路径的 开始 作为值。所以在本例中,它会阻止以下 URL(假设 robots.txt 位于 http://example.com/robots.txt):

  • http://example.com/usr/top
  • http://example.com/usr/top/
  • http://example.com/usr/top.html
  • http://example.com/usr/topfoo
  • http://example.com/usr/top/foo/bar
  • http://example.com/usr/top/foo/bar.html

【讨论】:

    【解决方案2】:
    • 如果某个网站出现在 google 搜索结果中,我可以抓取该网站吗?

    简短的回答是也许。长答案是:许多网站都会有使用/协议或使用条款,可能会提及是否允许抓取。例如,我认为 FaceBook 不会允许抓取。

    关于 robots.txt 文件:this link may be helpful

    【讨论】:

    • 如果他们不想被抓取,他们现在应该已经足够了解使用 robots.txt;没有任何程序化方式可以确保爬虫可以或爬虫的作者可以合理地阅读 ToS。
    猜你喜欢
    • 2023-03-03
    • 2014-03-30
    • 2012-09-24
    • 2015-01-15
    • 2019-07-19
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多