CSDN_投票评选_JS_分析脚本
作者: 铁锚
日期: 2013年12月31日
如题, 使用说明如下:
1. 原创图书 http://special.csdn.net/book2013/yc.html 2. 引进图书 http://special.csdn.net/book2013/yj.html // // 采用chrome 打开以后,右键点击页面,选择审查元素 // 随后切换到console控制台 // 复制js文件的所有代码,在控制台执行即可
脚本如下:
!(function(){ // 创建script元素 var sc = document.createElement("script"); // 设置属性 sc.src = "http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"; // 设置加载事件回调 sc.onload = pickVote; // 添加到 body document.body.appendChild(sc); // function Vote(id, name, ding_num){ this.id = id; this.name = name; this.ding_num = ding_num; }; Vote.prototype = { toString : function(){ return this.ding_num + "\t" + this.name ; } }; // function pickVote(e){ if(!$){ alert("很抱歉,新浪服务器打盹了."); return false; } // var allbook = $(".container .list"); var len = allbook.length; // var allVote = []; // !!allbook.each(function(i,v){ var $this = $(this); // var $name = $("p.black strong",$this); var $ding_num = $(".ding_num", $this); // 书名 var name = $name.text(); var ding_num = $ding_num.text(); // ding_num = parseInt(ding_num); // var vote = new Vote(++i, name, ding_num); allVote.push(vote); }); function desc(x, y){ if (x.ding_num > y.ding_num) { return -1; } else if (x.ding_num < y.ding_num){ return 1; } else { return 0; } }; // 排序 allVote = Array.prototype.sort.call(allVote, desc); // 输出信息 var title = document.title; console.info(title+": 排名:"); console.info(allVote.join("\n")); }; }() );
资源下载地址:
JS脚本抓取数据分析示例
-------------------------------------------------------------------------------------------------------------------
新加了一个测试ITEYE的防DDOS的示例:
使用说明:
1. 首先 chrome 打开iteye的需要刷新的页面;这样才不会出现跨域。 2. 然后打开console 3. 粘贴执行刷新的JS,然后让页面一直开着。 如果你想要自动刷新功能,可以使用傲游浏览器。当然,好像搜狗也支持,在标签页上点右键,自动刷新即可.
代码如下:
( function(){ // 获取当前地址 var url = window.location.href; var timeout = 0.2 * 1000; var iframe = document.createElement("iframe"); iframe.src = ""+url; // 用 iframe来定时刷新 window.document.body.appendChild(iframe); iframe.src= ""; var tms = 0; var itv = window.setInterval(function(){ iframe.src= ""; iframe.src = ""+url; tms += 1; if(tms % 500 < 1){ console.info("tms="+tms); } }, timeout); }() );
一个在浏览器测试移动APP的API接口并发的不规范代码:
(function() { // var $this = $('#apitestform'); // 密码加密 var password_clear = $("#password_clear").val() || ""; $("#password_md5").val(hex_md5(password_clear)); // 新密码加密 var newpassword_clear = $("#newpassword_clear").val() || ""; $("#newpassword_md5").val(hex_md5(newpassword_clear)); var data = $('#apitestform').serialize(); // window.all_time = 0; window.all_num = 0; window.success_num = 0; window.failure_num = 0; // var config = { url : $this.attr("action"), data : data, type : "POST", dataType: "json", beforeSend : function() { }, complete : function(xhr,result) { var text = xhr.responseText; var js = JSON.parse(text); if(js && (1 === js.success)){ success_num += 1; } else { failure_num += 1; } var pref = window.time || 0; var current = new Date(); var time = current.getTime() - pref.getTime(); window.all_time += time;//current.getTime() - window.start_time.getTime(); var avg_time = Math.round(all_time / all_num); // var log = "all_num="+all_num+"\n" +"success_num="+success_num+"\n" +"failure_num="+failure_num+"\n" +"time="+time+" ms\n" +"all_time="+all_time+" ms\n" +"avg_time="+avg_time+" ms\n" ; $("#apitestresult").text(log); // window.setTimeout(loop, 0.01 * 1000); } }; // function loop(){ <span style="color: rgb(0, 128, 255); font-family: Consolas, 'Lucida Console', monospace; font-size: 12px; white-space: pre-wrap;">if(true == window["stop_loop"]){ return;}</span> window.all_num += 1; window.time = new Date(); jQuery.ajax(config); } // window.startTime = 0; window.setTimeout(loop, 0.01 * 1000); }());
如果确实要压力测试 移动API接口的 性能,请使用JMeter 工具来进行测试; 如果要停止上面的代码循环,只要在控制台执行 window["stop_loop"]=false; 即可
百度的节操:
招聘信息,使用chrome,也就是google浏览器,打开百度,或者百度百科,右键,审查元素(当然,也可以直接按F12打开调试工具),然后切换到 Console 控制台,即可看到其招聘信息:
显示效果如下:
图1 度娘的节操
查找出来的代码及分析如下,其实好像百度知道,百度百科的更牛X一些,可以在控制台显示图片了都.
// 保证即便 try 语句块内部的代码执行出错,也不会中断后面的JS代码的执行 try { // if 判断,短路与; 检查是否有console这个(控制台)对象,以及 log 这个日志方法 // Chrome和 Firefox 的 console 一般包含: // console.error("错误信息") // console.info("常规信息") // console.debug("调试信息 %c yes",'color:red'); // %c 就类似于 C 语言 printf 的 if (!!(window.console && window.console.log)) { console.log("程序?\n节操?\n软件?\nCSDN写博客不方便 orz \n技术! \n不等于实力。\n"); console.log("邮箱: %c renfufei@qq.com(铁锚)", "color:red"); console.log("个人博客:http://blog.csdn.net/renfufei") } } catch(e) { }
下面的是 百度知道的效果:
图2 百度知道的节操图
其代码如下,其实 \u 就是Unicode的字面量编码形式而已,没多少先进的.
if (window.console) { console.log( "\n\n%c", // 注意上面这个逗号,表明括号内是2个参数 "font-size:0;line-height:50px;padding-top:" + 46 + "px; padding-left:" + 137 + "px;background:" + "" + ";background-repeat:no-repeat;" ); // 上面的那个 %c 将一些字符以原生格式拼进去了,而不是被当做普通的字符串 console.log("\u671f\u5f85\u4f60\u7684\u52a0\u76df\u3002http://zhidao.baidu.com/misc/more/joinus") console.log("\u8bf7\u5728\u90ae\u4ef6\u4e2d\u6ce8\u660e%c\u6765\u81ea:console", "color:red;font-weight:bold;"); }
CSDN_投票评选_JS_分析脚本的更多相关文章
- linux实用的日志分析脚本
日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 218.19.140.242 – - [10/Dec/2010:09:31:17 +0800] “GET /query/ ...
- python编写网络抓包分析脚本
python编写网络抓包分析脚本 写网络抓包分析脚本,一个称手的sniffer工具是必不可少的,我习惯用Ethereal,简单,易用,基于winpcap的一个开源的软件 Ethereal自带许多协议的 ...
- BASE64编码原理分析脚本实现及逆向案例
在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理你又了解多少?今天小编带大家了解一下Base64编码原理分析脚本实现及逆向案例的相关内容. 01编码由来 数 ...
- Linux服务器性能日志收集和分析脚本(转)
最近老大要求分析服务器的性能数据,找到服务器运行的性能瓶颈,结果花了两天时间,写了两个脚本可以生成日志并可以进行数据提取,最终生成数据可以放到excel生成报表.过程中也学到了不少shell编程技术. ...
- linux常用的日志分析脚本
linux实用的日志分析脚本 日志分析 随意的tail一个access_log文件,下面是一条经典的访问记录 /Dec/::: +] “GET /query/trendxml/district/tod ...
- linux系统web日志分析脚本
linux系统web日志分析这方面工具比较多,比如logwatch或awstats等使用perl语言开发,功能都非常强大.但这些软件都需要进行一些配置,很多朋友往往在技术方面没有投入太多力量,即便参照 ...
- MySQL 数据库慢查询日志分析脚本
这个脚本是基于pt-query-digest做的日志分析脚本,变成可视化的格式. 目录结构是 ./mysql_data/log./mysql_data/log/tmp./slow_query # co ...
- 【转载】ltp压力测试结果分析脚本
博客园 首页 新随笔 联系 管理 订阅 随笔- 8 文章- 0 评论- 0 ltp压力测试结果分析脚本 最近工作性质发生了改变,在做操作系统方面的测试.接手的第一个任务是做ltp stres ...
- Nginx日志分析脚本
目录 一.简介 二.脚本 一.简介 运维工作是一个比较复杂的工作,有时候面对上万条的日志,如何作分析?难道一条条的分析? 这估计看两眼就要打哈欠了吧?聪明的人会选择脚本,这就是为什么现在提倡自动化运维 ...
随机推荐
- 基于Python预测股价
▌实现预测的Stocker工具 Stocker是一款用于探索股票情况的Python工具.一旦我们安装了所需的库(查看文档),我们可以在脚本的同一文件夹中启动一个Jupyter Notebook,并导入 ...
- Dockerfile怎么创建镜像
编写完成 Dockerfile 之后,可以通过 docker build 命令来创建镜像. 基本的格式为 docker build [选项] 路径,该命令将读取指定路径下(包括子目录)的 Docker ...
- 计算机网络之文件传送协议FTP
FTP 文件传送协议FTP(File Transfer Protocol)是因特网上使用最广泛的文件传送协议. FTP 提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权限.FTP ...
- TreeMap倒序以及遍历
TreeMap倒序 TreeMap默认是按照Key给排序的,但是有的时候我们需要倒序,比如Key是日期,我们需要按照日期倒序显示(最近的时间在前面),类似下面这种情况 TreeMap倒序方法 tree ...
- VMware中的桥接模式、NAT(网络地址转换模式)、Host-only(主机模式):转自:http://blog.chinaunix.net/uid-11798538-id-3061551.html
其中VMnet1是虚拟机Host-only模式的网络接口,VMnet8是NAT模式的网络接口,这些后面会详细介绍.在个虚拟交换机,分别是-个虚拟机交换机,而在VMware Workstation 5以 ...
- 【BAT经典算法面试题系列】求和为n的连续正整数
马上就要到9月份了,意味着一年一度的秋招就要开始了,相信不论是正在实习的童鞋还是马上就要找工作的童鞋,BAT无疑是国内的"明星企业",是每个学计算机的小伙伴们心之向往的企业,但是呢 ...
- Basic Git commands
Basic Git commands Skip to end of metadata Created by Paul Watson [Atlassian], last modified on Nov ...
- SQLite 创建数据库(http://www.w3cschool.cc/sqlite/sqlite-create-database.html)
SQLite 创建数据库 SQLite 的 sqlite3 命令被用来创建新的 SQLite 数据库.您不需要任何特殊的权限即可创建一个数据. 语法 sqlite3 命令的基本语法如下: $sqlit ...
- JAVA进阶之旅(一)——增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法
JAVA进阶之旅(一)--增强for循环,基本数据类型的自动拆箱与装箱,享元设计模式,枚举的概述,枚举的应用,枚举的构造方法,枚举的抽象方法 学完我们的java之旅,其实收获还是很多的,但是依然还有很 ...
- 安装解压版本的MySQL,安装过程中的常见命令,检查windows系统错误日志的方式来检查MySQL启动错误,关于Fatal error: Can't open and lock privilege
以端口 port = 3306 # 设置mysql的安装目录 basedir=D://Installed//mysql-5.6.26-winx64//mysql-5.6.26-winx64 # ...