如何从UserAgent识别搜索引擎并判断真假蜘蛛

小编给大家分享一下如何从UserAgent识别搜索引擎并判断真假蜘蛛,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!

创新互联公司从2013年成立,是专业互联网技术服务公司,拥有项目网站制作、做网站网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元宁津做网站,已为上家服务,为宁津各地企业和个人服务,联系电话:18980820575

一般搜索引擎去爬取一个网站时,首先是去读取网站的robots.txt 文件,看看网站管理员有没有在该文件设置禁止某些蜘蛛,或禁止访问

哪些路径。然而一些流氓蜘蛛不会顾及robots.txt 文件,想爬哪就爬哪。这种情况管理员只能通过应用程序去识别判断,是否限制某些访

问。

识别搜索引擎

通过UserAgent 字符串来识别,下面例子是使用Go 来实现

简单的是通过正则来识别:

spiderReg = regexp.MustCompile(`(?i)bot|crawl|spider|slurp|sohu-search|lycos|robozilla|google|Baidu`)

上面的正则就能识别大多数搜索引擎,使用方法:

if spiderReg.MatchString(r.Header.Get("User-Agent")) {
    // 对搜索引擎作响应
}

如果要想要从UserAgent 里分析出更多的信息,可借助一些库来解析,如下面:

import "github.com/mssola/user_agent"

ua = user_agent.UserAgent{}
ua.Parse("Mozilla/5.0 (compatible; Googlebot/2.1;+http://www.google.com/bot.html)")

fmt.Printf("%v\n", ua.Bot())      // => true
name, version = ua.Browser()
fmt.Printf("%v\n", name)          // => Googlebot
fmt.Printf("%v\n", version)       // => 2.1

识别真假

UserAgent 字符串可以在 http 请求时设置,任何一个客户端都可以伪造成一个搜索引擎去访问你的网站。可以通过下面两个步骤去识别真正的搜索引擎。

在 *nix 系统下使用 host 命令,使用方法如下面两个示例:

$ host 207.46.13.178
178.13.46.207.in-addr.arpa domain name pointer msnbot-207-46-13-178.search.msn.com.
$ host msnbot-207-46-13-178.search.msn.com
msnbot-207-46-13-178.search.msn.com has address 207.46.13.178
$ host 203.208.60.24
24.60.208.203.in-addr.arpa domain name pointer crawl-203-208-60-24.googlebot.com.
$ host crawl-203-208-60-24.googlebot.com
crawl-203-208-60-24.googlebot.com has address 203.208.60.24

解释一下上面的过程,首先通过来访 IP 作DNS反向查询,得到相关域名,再把得到的域名再做一次查询,得到 IP,与原来的IP 相同才是比较靠谱的搜索引擎。

Go 语言里的 net 包可以实现这样的查询:

names, err := net.LookupAddr(ip)
addrs, err := net.LookupHost(name)

通过这种方式建立一个IP白名单,就可以屏蔽掉一些来路不明的蜘蛛。

看完了这篇文章,相信你对如何从UserAgent识别搜索引擎并判断真假蜘蛛有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


网站名称:如何从UserAgent识别搜索引擎并判断真假蜘蛛
标题来源:http://bzwzjz.com/article/joocdo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站制作 成都网站制作公司 网站建设费用 成都网站建设公司 网站设计 成都网站设计 成都网站设计 专业网站设计 企业网站制作 高端网站设计 成都网站建设流程 成都营销网站建设 企业网站建设公司 响应式网站建设 古蔺网站建设 成都商城网站制作 成都网站建设 营销型网站建设 成都企业网站建设 成都网站建设 成都做网站建设公司 营销网站建设