有很多爬虫会顶着各大蜘蛛的UA来做一些内容抓取等操作,如何判断IP是不是真的百度蜘蛛?
查询IP是否是百度蜘蛛可以使用DNS反查的方式来判断,下面说下详细步骤
可使用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.
可以看到返回内容是以baidu.com结尾的hostname
补充,如果系统提示-bash: host: command not found,则需要安装一下bind-utils。可用下面的命令安装。
yum install bind-utils
可使用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
返回结果中的“服务器”和“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电脑,这里只说下怎么查。
mac平台可以使用dig+IP的方式来查询。返回结果同上。
示例:
dig 123.125.66.120