通过 IP 判断爬虫
如果你查看服务器日志,看到稀稀拉拉的 IP 地址,你一眼能够看进去那些 IP 是爬虫,那些 IP 是失常的爬虫,就像这样:
在这稀稀拉拉的日志外面,咱们不仅要分辨出真正的爬虫 IP,同时也要分辨出伪造的爬虫 IP,实属不易。
如果查看服务器日志,咱们能够先通过 User-agent 大抵判断出是爬虫还是失常用户,例如:
Mozilla/5.0 (compatible; SemrushBot/7~bl; +http://www.semrush.com/bot.html)
这个是 SemrushBot 的爬虫
Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)
这个是 bing 搜索引擎的爬虫
Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.97 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
这个是 Google 搜索引擎的爬虫
……
这些都是爬虫的 User-agent,只有是开发过爬虫的小伙伴都晓得,User-agent 能够伪造的,仅仅通过 User-agent 来判断爬虫是不精确的,咱们还要通过 IP 地址判断是否是爬虫。
66.249.71.19 - - [19/May/2021:06:25:52 +0800] "GET /history/16521060410/2019 HTTP/1.1" 302 257 "-" "Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.97 Mobile Safari/537.36 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
下面这条日志,第一个是爬虫的 IP,你确定它是 Google 搜索引擎的爬虫(蜘蛛)IP 吗?
咱们能够通过 IP 反查,能够看进去 Hostname 是:crawl-66-249-71-19.googlebot.com
通过 ping 获取此 Hostname 的 IP 地址是:66.249.71.19
这个是 Google 搜索引擎的爬虫(蜘蛛)IP 确定无疑。
然而对于有些不确定的,咱们也能够通过 [IP 查问 – 爬虫辨认] 这个网站查问爬虫的具体信息。
具体操作不在此赘述,间接输出 IP 即可查问爬虫的详细信息,同时也能够参考这篇文章:爬虫进行 IP 辨认,有具体用法。
通过以上的一些步骤,应该能很轻松的通过 IP 来判断是不是爬虫了。