Web crawler 如何判断web请求是否来自google';什么是爬虫?

Web crawler 如何判断web请求是否来自google';什么是爬虫?,web-crawler,google-crawlers,Web Crawler,Google Crawlers,从HTTP服务器的角度来看。我在我的asp.net应用程序中捕获了google crawler请求,下面是google crawler签名的外观 请求IP: 客户端:Mozilla/5.0(兼容;Googlebot/2.1;+) 我的日志观察到google crawler在66.249.71.*范围内有许多不同的IP。所有这些IP均位于美国加利福尼亚州山景城 检查请求是否来自Google crawler的一个很好的解决方案是验证请求是否包含Googlebot和http://www.google.

从HTTP服务器的角度来看。

我在我的asp.net应用程序中捕获了google crawler请求,下面是google crawler签名的外观

请求IP
客户端:Mozilla/5.0(兼容;Googlebot/2.1;+)

我的日志观察到google crawler在
66.249.71.*
范围内有许多不同的IP。所有这些IP均位于美国加利福尼亚州山景城

检查请求是否来自Google crawler的一个很好的解决方案是验证请求是否包含
Googlebot
http://www.google.com/bot.html
。正如我所说,在同一个请求客户端上观察到许多IP,我不建议检查IP。也许这就是客户身份的原因。因此,开始验证客户身份

下面是C#中的示例代码


需要注意的是,任何Http客户端都可以很容易地伪造它。

如果您使用的是Apache Webserver,您可以查看日志文件“log\access.log”

然后从中加载google的IP,并检查日志中是否包含一个IP。

您可以阅读官方页面

在这里引用这一页:

您可以验证访问服务器的bot是否真的是Googlebot (或另一个Google用户代理)通过使用反向DNS查找, 验证名称是否在googlebot.com域中,然后执行以下操作 使用该googlebot名称的前向DNS查找。这是有用的,如果 您担心垃圾邮件发送者或其他麻烦制造者正在访问 你的网站,而声称是谷歌机器人

例如:

> host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer  crawl-66-249-66-1.googlebot.com.

> host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1
谷歌没有发布一个公开的IP列表 网站管理员的白名单地址。这是因为这些IP 地址范围可能会改变,这会给任何 已经硬编码了。识别Googlebot访问的最佳方法 是使用用户代理(Googlebot)


可能与否重复,他们使用的IP范围很广,都在
66.249.71.*
No中,这不是一种可靠的方法,因为客户端IP可以更改。
> host 66.249.66.1
1.66.249.66.in-addr.arpa domain name pointer  crawl-66-249-66-1.googlebot.com.

> host crawl-66-249-66-1.googlebot.com
crawl-66-249-66-1.googlebot.com has address 66.249.66.1