0人赞同了该回答
近期,小编经常收到开发者关于“哪些蜘蛛是百度搜索的”、“如何才能正确识别百度蜘蛛”的提问。
今日干货带你简单两步即可识别百度蜘蛛
一、查看UA信息
如果UA信息不对,可以直接判断该蜘蛛为非百度搜索的蜘蛛。
目前UA分为移动、PC、和小程序三个应用场景,分别如下:
【移动UA】
1、Mozilla/5.0(Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko)Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
2、Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html)
【PC UA】
1、Mozilla/5.0(compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
2、Mozilla/5.0(compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
【小程序UA】
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;Smartapp; +http://www.baidu.com/search/spider.html)
二、双向DNS解析认证
第一步:DNS反查IP
开发者可以对日志中访问服务器的IP地址进行反向DNS查找,判断某只spider是否来自百度搜索引擎,Baiduspider的hostname以*.http://baidu.com或*.http://baidu.jp 的格式命名,非*.http://baidu.com或*.http://baidu.jp即为冒充。
在Linux/Windows/OS三种平台下,验证方法分别如下:
1) 在Linux平台下,可以使用host IP命令反解IP来判断该抓取是否来自Baiduspider。
2) 在Windows平台或者IBM OS/2平台下,可以使用nslookup IP命令反解IP:打开命令处理器,输入nslookup http://xxx.xxx.xxx.xxx(IP地址)就能解析IP,判断该抓取是否来自Baiduspider。
3) 在macOS平台下,可以使用dig命令反解IP:打开命令处理器输入dig -x http://xxx.xxx.xxx.xxx(IP地址)就能解析IP,判断该抓取是否来自Baiduspider。
第二步:对域名运行正向DNS查找
对第一步中通过命令检索到的域名运行正向DNS查找,验证该域名与日志中访问服务器的原始IP地址是否一致,IP地址一致可确认spider来自百度搜索引擎,IP地址不一致即为冒充。
【示例】
> host 111.206.198.69
69.198.206.111. in-addr.arpa domain name pointer baiduspider-111-206-198-69.crawl.baidu.com.
>http://hostbaiduspider-111-206-198-69.crawl.baidu.com
http://baiduspider-111-206-198-69.crawl.baidu.com has address 111.206.198.69
发布于2023-05-15