op-console

很多人感觉浏览器的控制台(console),好像是深不可测,但是实际上,我们可以使用它来直接操作页面内容,或者获取你要的任何信息,并输出出来。

这个功能非常适合调试和动态获取信息。

下面有3个简单的例子,更多的例子,你可以自行发觉哦,而且通过输入代码动态回馈的方式,可以快捷的编写要实现的需求和浏览器插件。

因为手头还有别的事情,行文仓促,不慎不详之处见谅,欢迎拍砖。

正文

比如我想要得到VMWARE的菜单中的中文和对应的URL中的英文翻译,那么我可以利用CONSOLE。

首先发现VMWARE使用了jQuery,那么就更加方便了。

<script type="text/javascript">var menuList = $('.nav ul li a');
var newLink = '';

for (oo in menuList){
	if(typeof(menuList[oo])=='object' && menuList[oo].href){
		if(menuList[oo].href.match(/http:\/\/www\.vmware\.com\/cn\/(.*)/i)){
			newLink = menuList[oo].href.match(/http:\/\/www\.vmware\.com\/cn\/(.*)/i)[1];
			console.log(menuList[oo].innerHTML,"\n",newLink,"\n\n");			
		}
	}
}</script> 

那么输出结果就是:

云计算 
 cloud-computing/ 

云计算概述 
 cloud-computing/ 

云计算之旅 
 cloud-computing/cloud-journey/overview.html 

VMware IT 之旅 
 solutions/vmware-it-journey/index.html 

私有云计算 
 cloud-computing/private-cloud/datacenter-challenges.html 

构建私有云 
 cloud-computing/private-cloud/how-to-build-private-cloud.html 

公有云/混合云计算 
 cloud-computing/public-cloud/index.html 

灾难恢复到云 
 solutions/datacenter/disaster-recovery-to-cloud.html 

再比如说我想获得我腾讯微博所有的收听的信息,直接用程序爬,一页一页的搞的话,我觉得程序和我都太苦逼了。

在输入框里输入了一个@,发现会出现一个列表,好吧,这时数据应该是通过接口取出来的。

你可以选择调用页面中的接口来再次回去数据并保存,不过不用想也知道,调用的时候,肯定是加了很多限制和参数。

如果不想去了解这些,该怎么最简单的获取想要的内容呢。

首先是苦逼的观察法:

通过观察chrome的resources发现,数据内容被缓存了下来。(localstorage) 那么在console中使用如下代码就可以列出所有的收听的人信息了。

//你的博客ID
var user = 'soulteary';
//读取LOCALSTORAGE
var follower = localStorage.getItem('follow_0_'+user);
//读出的数据前面带有其他的字符,所以要剔除
    follower = follower.substring(follower.indexOf('{"'))
    //转换为JSON OBJECT
    follower = JSON.parse(follower)
    for(var oo in follower.info){
        //小达哥,用你做展示,给你加粉丝-,-...
        console.warn('粉丝: '+follower.info[oo][1] + '\r\r\r[@' + follower.info[oo][0] + ' http://t.qq.com/' + encodeURI(follower.info[oo][0]) + ']' );
    }

//最后输出结果:
//粉丝: 朱小达[@aballam http://t.qq.com/aballam]
//... ...

再比如说,我们想知道当前登录QQ的用户的昵称。正好发现QQ音乐给了一个接口。

那么只需要在控制台里输入下面的代码,就可以查看是否有登录QQ,以及当前的用户的昵称了。

<script type="text/javascript">//动态创建对象
var sy = document.createElement('script');
    sy.src = 'http://portalcgi.music.qq.com/fcgi-bin/music_mini_portal/cgi_getuser_info.fcg';
    document.getElementsByTagName('body')[0].appendChild(sy);
//悄悄的用QQ音乐接口
var MusicJsonCallback = function(resp){
    console.log(resp.nickname + '同学你好');
}</script>