怎么辨别搜索引擎的爬虫

  介绍

怎么辨别搜索引擎的爬虫?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

网站经常会被各种爬虫光顾,有的是搜索引擎爬虫,有的不是,通常情况下这些爬虫都有UserAgent,而我们知道UserAgent是可以伪装的,UserAgent的本质是Http请求头中的一个选项设置,通过编程的方式可以给请求设置任意的UserAgent。

所以通过UserAgent判断请求的发起者是否是搜索引擎爬虫(蜘蛛)的方式是不靠谱的,更靠谱的方法是通过请求者的ip对应的主机主机名是否是搜索引擎自己家的主人的方式来判断。

要获得ip的主机,在windows下可以通过网路资讯查询命令,在linux下可以通过主人命令来获得,例如:

这里我在windows下执行了网路资讯查询ip的命令,从上图可以看到这个ip的主机名是爬行- 66 - 249 - 64 - 119. - googlebot.com。这说明这个ip是一个谷歌爬虫,谷歌爬虫的域名都是xxx.googlebot.com。

我们也可以通过python程序的方式来获得ip的主机信息,代码如下:

import 插座   def  getHost (ip):   ,试一试:   ,结果=socket.gethostbyaddr (ip)   ,if 结果:return [0]结果,没有一个   ,except  socket.herror e:   ,return 没有,e.message

上述代码使用了套接字模块的gethostbyaddr的方法获得ip地址的主机名。

<强>常用蜘蛛的域名都和搜索引擎官网的域名相关强,例如:

百度的蜘蛛通常是baidu.com或者baidu.jp的子域名

谷歌爬虫通常是googlebot.com的子域名

微软bing搜索引擎爬虫是search.msn.com的子域名

搜狗蜘蛛是crawl.sogou.com的子域名

基于以上原理,可以通过一个工具页面提供判断ip是否是真实搜索引擎的工具页面,该页面上提供了网页判断的工具和常见的谷歌和必应的搜索引擎爬虫的ip地址。

<强>附带常见搜索引擎蜘蛛的ip段:

蜘蛛名称,,,,IP地址

Baiduspider ,,,,,, 202.108.11。* 220.181.32。* 58.51.95。* 60.28.22。* 61.135.162。* 61.135.163。* 61.135.168。*

YodaoBot ,,,,,,, 202.108.7.215 202.108.7.220 202.108.7.221

搜狗web spider ,,,,,, 219.234.81。* 220.181.61。*

Googlebot ,,,,,,, 203.208.60。*

Yahoo !Slurp ,,,,,, 202.160.181。* 72.30.215。* 74.6.17。* 74.6.22。*

雅虎ContentMatch Crawler ,,,,,, 119.42.226。* 119.42.230。*

Sogou-Test-Spider ,,,,,,, 220.181.19.103 220.181.26.122

Twiceler ,,,,,,, 38.99.44.104 64.34.251.9

Yahoo !把China ,,,,,, 202.160.178。*

sosospider,,,,,,, 124.115.0。*

CollapsarWEB qihoobot ,,,,,,, 221.194.136.18

NaverBot ,,,,,,, 202.179.180.45

搜狗猎户座spider ,,,,,,, 220.181.19.106 220.181.19.74

搜狗spider ,,,,,,,, 220.181.19.107

SurveyBot ,,,,,,, 216.145.5.42 64.246.165.160

Yanga WorldSearch机器人v ,,,,,,, 77.91.224.19 91.205.124.19

baiduspider-mobile-gate ,,,,,,, 220.181.5.34 61.135.166.31

discobot ,,,,,,, 208.96.54.70

ia_archiver,,,,,,,, 209.234.171.42

msnbot ,,,,,,, 65.55.104.209 65.55.209.86 65.55.209.96

搜狗spider ,,,,,,, 220.181.19.216

ps: https协议网页能够被搜索引擎收录吗

百度现在只能收录少部分的https,大部分的https网页无法收录。

不过我查询了谷歌资料,谷歌能够比较好地收录https协议的网站。

所以如果你的网站是中文的,而且比较关注搜索引擎自然排名流量这块,建议尽量不要将所有内容都放到https中去加密去。

<强>可考虑的方式是:

1,对于需要加密传递的数据,使用https,比如用户登录以及用户登录后的信息;

2,对于普通的新闻,图片,建议使用http协议来传输;

3,网站首页建议使用http协议的形式。

看完上述内容,你们掌握怎么辨别搜索引擎的爬虫的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么辨别搜索引擎的爬虫