正文

如何判断IP是否为真百度蜘蛛?

有很多爬虫会顶着各大蜘蛛的UA来做一些内容抓取等操作,如何判断IP是不是真的百度蜘蛛?

查询IP是否是百度蜘蛛可以使用DNS反查的方式来判断,下面说下详细步骤

linux平台:

可使用host+IP的命令来判断是否是Baiduspider,百度蜘蛛的hostname以 *.baidu.com 或 *.baidu.jp 的格式命名。

示例:

host 123.125.66.120

返回:

120.66.125.123.in-addr.arpa domain name pointer baiduspider-123-125-66-120.crawl.baidu.com.

如何判断IP是否为真百度蜘蛛?如何判断IP是否为真百度蜘蛛?

可以看到返回内容是以baidu.com结尾的hostname

补充,如果系统提示-bash: host: command not found,则需要安装一下bind-utils。可用下面的命令安装。

yum install bind-utils

windows平台:

可使用nslookup+IP的方式来查询。同样是返回hostname结果*.baidu.com 或 *.baidu.jp 的格式命名。

示例:

nslookup 123.125.66.120

返回:

服务器:  public1.114dns.com
Address:  114.114.114.114

名称:    baiduspider-123-125-66-120.crawl.baidu.com
Address:  123.125.66.120

如何判断IP是否为真百度蜘蛛?如何判断IP是否为真百度蜘蛛?

返回结果中的“服务器”和“Address”是你本地DNS的地址,这个你本地设置不同的DNS,他的结果也不同。这个只是告诉你使用的是哪个DNS服务器查询的结果。

如果提示下面之类的信息,可以换一下本地的DNS再查一下。比如我用腾讯的DNS(119.29.29.29)就查不到。这是DNS的问题。

*** 没有 123.125.66.120 可以使用的 internal type for both IPv4 and IPv6 Addresses (A+AAAA)记录

MAC OS平台:

本穷逼没有MAC电脑,这里只说下怎么查。

mac平台可以使用dig+IP的方式来查询。返回结果同上。

示例:

dig 123.125.66.120