爬虫/机器人是如何工作的?区分机器人/爬虫的HTTP请求



我在一个网站上工作。

我需要知道我的网站是否从谷歌或任何其他搜索引擎的crawlers/bots访问

在我的应用程序中,我拦截http请求。并且需要找出是否爬虫/机器人正在使http请求抓取我的网站。

我该怎么做?

检查用户代理字符串,看看它是否是已知的机器人。一个例子:

protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.UserAgent.Contains("Googlebot"))
            {
                //it's one of the google robots
            }
            else if (...)
            {
                ...
            }
        }

对于google,他们使用的代理列表可以在这里找到。

最新更新