文章转自:爱符号 http://www.afuhao.com/article_articleId-142.shtml

如果你是一个站长,如果你有自己的博客网站,如果你会编程,有没有想过,统计一下每天有哪些搜索引擎来访问过你的网站,方便知道收录的大概情况。

首先说明一点,搜索引擎会定期派出它们的机器人(蜘蛛),来访问你的网站,将你的网页收录在数据库中,如果被审核为有效内容,以后在搜索引擎上面搜索类似的关键词时,就能找到你的网站链接。

比如搜索:爱符号,就有可能看到首页 或者页面标题带此关键词的链接,或者是页面内容内容有此关键词的链接。

那么现在教你在asp.net中实现这样的功能。

网上其实也能找到一些类似的程序代码,可能会是php或asp的。

首先认识一下:global.asax

它是全局的一个文件,每次请求都会执行它里面的一些方法。

我们在这里要用到的就是:Application_BeginRequest,在请求执行之前。

注意:Application_BeginRequest 中不能用Session 和 Response,可以用 Request

废话少说,看代码:

[cs] 
  1. protected override void Application_BeginRequest(object sender, EventArgs e) {
  2. RecordSpider();//记录蜘蛛来访
  3. }
  4. private void RecordSpider(){
  5. string spiderName=GetSpiderName(Request.UserAgent);//得到蜘蛛的标识,
  6. if(!string.IsNullOrEmpty(spiderName)){//没名称的时候,就不是蜘蛛
  7. //记录:今日:蜘蛛名称,时间,次数(加1)
  8. //建议表结构:{ Id,Day,Name,Count,CreateDate}
  9. //Id:主键,自增
  10. //Day:int,用于保存日期数字方便查询,例:20121228
  11. //Name:varchar(64),蜘蛛名称,如果想更高效,可以用数字,
  12. //Count:次数,今日内将持续叠加此值
  13. //CreateDate:最后一次来访时间,即今日内,每来一次,此值将被更新为当前时间
  14. //判断:今日此蜘蛛没有来过:插入一条记录,反之叠加Count并更新CreateDate
  15. }
  16. }
  17. /// <summary>
  18. /// 获取蜘蛛名称
  19. /// </summary>
  20. /// <param name="userAgent">user-agent header</param>
  21. /// <returns>返回已知蜘蛛名称</returns>
  22. public static string GetSpiderName(string userAgent) {
  23. if (string.IsNullOrEmpty(userAgent))
  24. return string.Empty;
  25. if (ContainsAny(userAgent, "Sosospider"))//其实很简单,蜘蛛总是会在HTTP头 User-Agent 中,留下一些特殊的标识(不排除有的网站故意这样做)
  26. return "SosoSpider";
  27. if (ContainsAny(userAgent, "Googlebot"))
  28. return "Googlebot";
  29. if (ContainsAny(userAgent, "Baiduspider"))
  30. return "BaiduSpider";
  31. return string.Empty;//暂时只写这些,实际代码有很多的,我这里只是贴一部分,雅虎 MSN BING 都是可以支持
  32. nbsp;}
  33. //包含任意,用于在指定的文本中,包含其中一个文本就返回true
  34. private static bool ContainsAny(string text, params string[] values) {
  35. if (string.IsNullOrEmpty(text))
  36. return false;
  37. if (values == null || values.Length == 0)
  38. return false;
  39. bool result = false;
  40. foreach (var item in values) {
  41. if (text.IndexOf(item, StringComparison.OrdinalIgnoreCase) != -1) {
  42. result = true;
  43. break;
  44. }
  45. }
  46. return result;
  47. }

双击项目中的global.asax 进入代码窗口后,把上面的代码放进去,然后放到网站上,看看有没有蜘蛛来过。

代码中没有指明如何记录,请自行建立表,和后台页面显示。这些都是数据插入、更新、查询的事情。

看看本站的记录吧:

统计概况
蜘蛛统计 今日:

谷歌: 142( 7秒前)  
    百度: 101( 6分钟前)  
 搜搜: 46( 半小时前)  

昨日:

百度: 650( 11小时前)  
 搜搜: 59( 12小时前)  
 谷歌: 184( 11小时前)  
 必应: 4( 半天前)  
   雅虎: 4( 半天前)  

前日:

谷歌: 292( 昨天23:37)  
搜搜: 63( 昨天23:41)  
百度: 268( 昨天23:55)  
雅虎: 3( 昨天11:36)  
必应: 1( 昨天16:08)  
 

文章转自:爱符号 http://www.afuhao.com/article_articleId-142.shtml

让你的网站记录蜘蛛来访次数吧相关推荐

  1. 网站记录蜘蛛来访次数

    如果你是一个站长,如果你有自己的博客网站,如果你会编程,有没有想过,统计一下每天有哪些搜索引擎来访问过你的网站,方便知道收录的大概情况. 首先说明一点,搜索引擎会定期派出它们的机器人(蜘蛛),来访问你 ...

  2. 如何提高蜘蛛对网站的爬取次数?

    在网站优化中,都要进行更新网站内容才能更好的吸引蜘蛛对网站的爬行和抓取,从而提高网站的收录率,更多的优化人员也在寻找更多优化技巧来提升网站的收录率,那么怎样才能提高蜘蛛来我们网站抓取的次数呢? 一.更 ...

  3. 多网站批量蜘蛛日志分析工具

    网站的状态可以用日志来进行分析,蜘蛛日志分析工具通过可视化的数据曲线,方便我们对我们多个站点的蜘蛛爬取情况和行为进行分析,蜘蛛日志可以反映一个网站的状态,每天对我们的蜘蛛爬取情况进行了解和分析有助于我 ...

  4. java 记录微信转发次数_微信分享朋友圈记录分享次数统计实现

    业余时间研究微信的接口方法.记录下微信分享朋友圈记录分享次数统计实现:1.引入JS文件 2.通过config接口注入权限验证配置 3.通过ready接口处理成功验证 4.通过error接口处理失败验证 ...

  5. SpringBoot后端统计网站的IP访问次数及地区

    项目是用SpringBoot+Vue实现,前后端分离的,前端是用nginx部署的,虽说可以通过Nginx的日志来统计网站的IP的访问次数,但想在前端用图形化的方式来展示是不太可行的,所以我想着是在Sp ...

  6. B_随笔_关于网站记录(3)

    title date tags categories 关于网站记录三 2019-12-19 15:41:34 -0800 杂文 随笔 写于2019年12月19日. 最近几日一直在捣鼓自己的个人博客,科 ...

  7. 网站服务器蜘蛛日志怎么看,如何查看百度蜘蛛,google蜘蛛爬取记录?《网站日志分析篇》...

    也许各位常常看到别人在群里聊天,某某人的网站出现什么问题了...别人建议查看网站的日志文件,分析蜘蛛的爬取情况.可是如何去分析日志文件却很少有人去提,接下来我会大概介绍一下,如何去分析网站的日志文件, ...

  8. java 记录微信转发次数_微信分享追踪分析系统 ,可以精细统计朋友圈访客来访次数及时间和转发...

    当然,用同样的方式把你的项目或活动单独发给客户或是进行群发,易推创意-微信分享追踪分析系统后台同样或把你浏览次数多的时间长的客户直接抓取出来,提升了工作效率,业绩自然就提升了. 易推创意-微信分享追踪 ...

  9. 长沙网络推广浅析如何增加网站的蜘蛛爬取频次?

    网站的收录越高,网站排名高的机会也就越大,对于收录的问题,对于蜘蛛爬取网站也是有很大的关系的,通常情况下,蜘蛛爬取的越多,也就代表该网站很受用户喜爱,网站的被抓取率也会高点,那么对于有些网站优化来说, ...

最新文章

  1. PL/SQL学习笔记-过程
  2. 从一道面试题来认识java类加载时机与过程
  3. VTK:图片之ImageMapToColors
  4. vscode 新建php模板,使用vscode快速建立vue模板
  5. “引用作为函数参数”与 “引用作为函数返回值”
  6. 因为安全层不能与远程计算机协商兼容的参数,L2TP连接尝试失败,因为安全层在初始化与远程计算机的协商时遇到了一个处理错误(转)...
  7. layui数据可视化_空间数据可视化 GEOM
  8. java 二进制输入_把从键盘输入的一个二进制数赋给变量A 然后如何转换为其他进制...
  9. 如何用C++制作游戏开发概述
  10. Android os 4.4.4 魅族,魅族Mx3刷机包 Android 4.4.4 稳定版Flyme OS 3.7.3A 流畅顺滑体验
  11. 测试 软通动力软件测试机试_软通动力2020春招软件测试笔试题以及答案
  12. android studio实现记住密码,Andriod Studio实现保存QQ密码功能(案例代码详解)
  13. QML 全屏 输入法无法显示
  14. python等待执行完毕 再继续执行_如何等待一个函数内部异步执行完毕再执行另外一个函数?...
  15. ncre报名系统服务器不可用,新版NCRE考试系统问题及解决方法.doc
  16. 使用FTP(IOS FTP客户端开发教程)
  17. mysql outer join的用法_MySQL 8 中的连接语法JOIN、OUTER JOIN的相关用法
  18. c#ip138自动获取代码
  19. MATLAB repmat函数的使用
  20. php去下划线,html怎么去除字体下划线?去除字体下划线方法

热门文章

  1. android AccessibilityService的微信运动自动点赞(mac 环境开发)
  2. 重点本科(985 211),普通本科,专科有什么区别?
  3. 只有潮水退去后,才知道谁在裸泳
  4. 女的不许光膀子游泳!(转载)
  5. 2022年珠海市第三届半导体行业集成电路测试工竞赛成功举办
  6. java timezone id 中国_附上国际时区 TimeZone ID列表
  7. 2016 android开发前景 ppt,《2016-Android入门介绍.ppt
  8. chrome系浏览器插件:chromoji - 替换默认emoji,解决不显示emoji的问题
  9. Fruit Ninja(水果忍者)游戏源代码下载、分析(中)---可运行Android,Ios,Window,Mac,Html5平台
  10. iOS开发10-iOS SandBox(沙盒或沙盘)介绍、路径获取