简单代码实现网站统计蜘蛛来访数据
如果你是一个站长,如果你有自己的博客网站,如果你会编程,有没有想过,统计一下每天有哪些搜索引擎来访问过你的网站,方便知道收录的大概情况。
首先说明一点,搜索引擎会定期派出它们的机器人(蜘蛛),来访问你的网站,将你的网页收录在数据库中,如果被审核为有效内容,以后在搜索引擎上面搜索类似的关键词时,就能找到你的网站链接。
比如搜索:爱符号,就有可能看到首页 或者页面标题带此关键词的链接,或者是页面内容内容有此关键词的链接。
那么现在教你在asp.net中实现这样的功能。
网上其实也能找到一些类似的程序代码,可能会是php或asp的。
首先认识一下:global.asax
它是全局的一个文件,每次请求都会执行它里面的一些方法。
我们在这里要用到的就是:Application_BeginRequest,在请求执行之前。
注意:Application_BeginRequest 中不能用Session 和 Response,可以用 Request
废话少说,看代码:
protected override void Application_BeginRequest(object sender, EventArgs e) {
RecordSpider();//记录蜘蛛来访
}
private void RecordSpider(){
string spiderName=GetSpiderName(Request.UserAgent);//得到蜘蛛的标识,
if(!string.IsNullOrEmpty(spiderName)){//没名称的时候,就不是蜘蛛
//记录:今日:蜘蛛名称,时间,次数(加1)
//建议表结构:{ Id,Day,Name,Count,CreateDate}
//Id:主键,自增
//Day:int,用于保存日期数字方便查询,例:20121228
//Name:varchar(64),蜘蛛名称,如果想更高效,可以用数字,
//Count:次数,今日内将持续叠加此值
//CreateDate:最后一次来访时间,即今日内,每来一次,此值将被更新为当前时间
//判断:今日此蜘蛛没有来过:插入一条记录,反之叠加Count并更新CreateDate
}
}
/// <summary>
/// 获取蜘蛛名称
/// </summary>
/// <param name="userAgent">user-agent header</param>
/// <returns>返回已知蜘蛛名称</returns>
public static string GetSpiderName(string userAgent) {
if (string.IsNullOrEmpty(userAgent))
return string.Empty;
if (ContainsAny(userAgent, "Sosospider"))//其实很简单,蜘蛛总是会在HTTP头 User-Agent 中,留下一些特殊的标识(不排除有的网站故意这样做)
return "SosoSpider";
if (ContainsAny(userAgent, "Googlebot"))
return "Googlebot";
if (ContainsAny(userAgent, "Baiduspider"))
return "BaiduSpider";
return string.Empty;//暂时只写这些,实际代码有很多的,我这里只是贴一部分,雅虎 MSN BING 都是可以支持
nbsp;}
//包含任意,用于在指定的文本中,包含其中一个文本就返回true
private static bool ContainsAny(string text, params string[] values) {
if (string.IsNullOrEmpty(text))
return false;
if (values == null || values.Length == 0)
return false;
bool result = false;
foreach (var item in values) {
if (text.IndexOf(item, StringComparison.OrdinalIgnoreCase) != -1) {
result = true;
break;
}
}
return result;
}
双击项目中的global.asax 进入代码窗口后,把上面的代码放进去,然后放到网站上,看看有没有蜘蛛来过。
代码中没有指明如何记录,请自行建立表,和后台页面显示。这些都是数据插入、更新、查询的事情。关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 习近平引领网信事业高质量发展 4908444
- 2 中国人民解放军信息支援部队成立 4937283
- 3 伊朗总统发声未提及伊斯法罕爆炸 4844349
- 4 一季度农业农村经济“开门稳” 4769698
- 5 大熊猫吃笋整出了扛炮筒的架势 4661246
- 6 美否决巴勒斯坦入联申请 外交部回应 4578577
- 7 女生结婚收到一车辣条随礼 4459758
- 8 哈尔滨啤酒检出的呕吐毒素是什么 4356261
- 9 广西白沙大道一大楼倒塌系谣言 4259263
- 10 婆婆拿做保姆的钱给儿媳治病 4190495