c# - 爬虫/机器人如何工作?区分机器人/爬虫 http 请求

标签 c# asp.net seo search-engine google-search

我在一个网站上工作。

我需要了解我的网站是否获得了来自 Google 或任何其他搜索引擎的抓取工具/机器人

的访问

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

我该怎么做?

最佳答案

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

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

对于谷歌,他们使用的代理列表可以在这里找到here .

其他的,你得自己去发现。

关于c# - 爬虫/机器人如何工作?区分机器人/爬虫 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32166056/

相关文章:

c# - 从 blob 存储中获取资源文件并添加到 azure 批处理中的任务

c# - float 到 long 转换错误

c# - 从 html 内容生成 META 关键字

seo - 共享主机上的 SPDY 和 SEO 语义

c# - INSERT INTO 语句的问题

c# - c# 中的 HTTPS GET REST 请求不适用于 RestSharp

c# - Visual Studio 2008 无法识别 Lambda 表达式语法

asp.net - 从 ASP 页运行插入查询时出现 "Procedure or function has too many arguments specified"错误

regexp + modrewrite 就可以了

ajax - 带有 GWT 应用程序的 HtmlUnit 返回不完整的页面