文章关键字 ‘google’

Google Ajax Search使用教程

2008年08月20日,星期三

最近更换主题时没有做搜索模块,首先是闲麻烦,再则Wordpress内置的搜索功能仅算一般,索性也不做搜索框了,然而有时候要找以前的存档又不方便,看到ThinkAgain博客上的Google Ajax Search功能强大,速度贼快,自己也搞了一个,期间也算历经千辛万苦,终于搞定了,先贴结果图。

先介绍一下Google Ajax Search,这是Google面向小型网站、博客推出的搜索服务,它在你的网站上内置搜索框,用AJAX方式调用结果显示在你的网站上,此过程不用访问Google的网页,增快了搜索的速度,提供更好的访客体验。

现在开始说一下如何使用吧。首先要注册一个Google Ajax Search的KEY,挺容易的,输入你的网址,如http://photozero.net ,打个勾赞成服务条款就会得到一个KEY,这个KEY只能用于这个域名下的网页调用。

接下来是把一个Javascript文件嵌入你的博客中。在博客后台打开“主题”-》“编辑主题”,找到“header.php” 这个文件编辑。把类似于

  1. <script src="http://www.google.com/jsapi?key=ABQIAAAAxbEbYoIMv2ddhn6TUcYTwhRLVF4ECcLU8-XSpyOqP4CBr2JuVBTOm1FzKI3-GU5dOFYWlWLxpqdlzA" type="text/javascript"></script>

的代码放在

  1. <head>
  2. ..
  3. </head>

之间。

这是第一步,在你的博客里面引用Google的AJAX搜索的文件。如果担心载入速度受到影响,可以把这个JS文件放在最后载入也是没有问题的。

第二步;在合适的位置放置搜索结果的标记。当用户进行搜索后,这个结果显示在你的博客的某个位置。我的建议是放置在Header之后,博客文章开始之前。我在要放的结果放一个

  1. <div id="googlesearchresult"></div><!--表示结果在这里显示-->

第三步,在合适的位置放置搜索框,如我的是在侧边栏,编辑“sidebar.php” ,在合适的位置放上标记:

  1. <div id="googlesearchcontrol"></div><!--表示搜索框在这里显示-->

第四步,也是最重要的一步,对搜索进行配置。Google Ajax Search(文档)提供了包括网页搜索、博客搜索、视频搜索、图片搜索等多项搜索服务,还可以限定结果网站(如 photozero.net ,限定在 photozero.net 里面搜索结果),相当于“站内搜索”。这一步也是比较麻烦的,如果懂得JavaScript还好说,不懂得就照例画葫芦。下面是示范代码。这是一个类似于标签式的排列方式,另一种是由上至下的排列,比较难看了点。

  1. <script language="Javascript" type="text/javascript">//<![CDATA[
  2.       google.load('search', '1.0');//载入Google Ajax Search
  3.      
  4.       function OnLoad() {
  5.  
  6.         // create a tabbed mode search control
  7.         var tabbed = new google.search.SearchControl();//创建一个控制器
  8.        
  9.         var siteSearch = new google.search.WebSearch();//实例化一个搜索器
  10.         siteSearch.setSiteRestriction("photozero.net");//限定搜索范围,相当于站内搜索了
  11.         siteSearch.setUserDefinedLabel("Photozero站内搜索");//该搜索条显示的名称
  12.        
  13.         tabbed.addSearcher(siteSearch);//将站内搜索添加到搜索器中
  14.         tabbed.addSearcher(new google.search.WebSearch());//添加Web搜索
  15.         tabbed.addSearcher(new google.search.BlogSearch());//添加博客搜索
  16.         tabbed.addSearcher(new google.search.NewsSearch());//添加新闻搜索
  17.         tabbed.addSearcher(new google.search.ImageSearch());//添加图片搜索
  18.         tabbed.addSearcher(new google.search.VideoSearch());//添加视频搜索
  19.  
  20.         // draw in tabbed layout mode
  21.         var drawOptions = new google.search.DrawOptions();//设置搜索选项
  22.         drawOptions.setDrawMode(google.search.SearchControl.DRAW_MODE_TABBED);//以标签栏显示
  23.         drawOptions.setSearchFormRoot(document.getElementById("googlesearchcontrol"));//放置搜索框的位置,如果应用在博客以外的某些网页,搜索框要和搜索结果显示在一起,就不用这句。
  24.  
  25.         tabbed.setResultSetSize(google.search.Search.LARGE_RESULTSET);//设置搜索结果显示大小,有大(显示8条)和小(显示4条)之分
  26.         tabbed.draw(document.getElementById("googlesearchresult"), drawOptions);//设置搜索结果和选项
  27.  
  28.         //tabbed.execute("neekey");//如果要在载入时就进行搜索请添上这句
  29.       }
  30.       google.setOnLoadCallback(OnLoad, true);
  31.       OnLoad();//启用代码
  32.     //]]>
  33.     </script>

好了,把上面的代码放入网页的任意位置,就可以看到像我的博客一样的效果了。此外,还有人为这个写了插件,好像就叫Google Ajax Search,但似乎很久没更新了,我也没去试用,如果贪图方便的朋友请上官方插件目录搜索一下。

几款常用的网络书签对比

2008年08月18日,星期一

对于需要经常使用书签,并且在不同的电脑上使用,网络书签是一个很好的工具。这里结合我对几个网络书签网站的认识,来谈一下几款主流的网络书签。

  • Delicious

谈到网络书签,就不能不提这一行业的领头羊-Delicious(美味书签),Delicious以简单实用的风格吸引了众多爱好者,目前Delicious应该是网络书签里使用人数最多的。相比Delicious的使用简单,注册起来难度可不小,资料要填齐,密码不能少于8位,且必须有字母,图片验证码简直看不清楚,注册相当麻烦。而且相比其他的网络书签网站纷纷采用了AJAX等更好的用户体验模式,Delicious还依然坚持最基本的HTML,且对于中国用户来说,速度也是一个软肋,Delicious还算一般的。当然,Delicious的用户分享的模式是挺不错的,有点类似于Digg,可以把自己收藏的书签分享给别人。

  • Google Bookmarks

Google的书签产品继承了Google的一贯风格,简单明了,使用Google账户登陆即可。只提供了添加、编辑、管理等最基本服务,似乎不能很好的形成分享的氛围。由于Google的速度不错,自己放一些书签也是不错的选择。

  • QQ书签

以前我经常抱怨QQ的产品是如何如何差劲,不够人性化,全部是抄袭,毫无创新。但QQ书签似乎给人一种耳目一新的感觉。QQ书签采用了基于jQuery的AJAX技术,使得使用QQ书签时与服务器的反应更为迅速,用户体验明显上了一个档次。此外QQ书签还提供了收藏的网页的Screenshot功能,提供缩略图,也是一目了然。美中不足的是,由于是QQ开发的产品,难免要使用QQ号码之类的登陆,我个人觉得麻烦,且在网页上输入QQ账号密码也是没有安全感的。相比之下,我更愿意使用EMAIL账号或自己选择的用户名登陆。

  • 百度搜藏

相比其他书签网站各有千秋,百度搜藏算是一款比较普通的产品了,就连QQ书签都有的“导出书签”的功能都没有。页面虽然是用了一点JavaScript技术,却又舍不得弄成AJAX的,显得不伦不类。既然其他的不行,我想搜索是百度的拿手好戏,试着添加了一个书签,标题为“零号相册”,网址就是“http://photozero.net”,在公开收藏搜索栏中输入“零号相册”,以匹配性来说应该是我的书签排名第一才对,可是排名前面的根本都是不沾边的网页,可见百度的搜藏搜索部分也是一般。百度搜藏的风格也显得不伦不类,一开始显然是受了Gmail的影响,可能做出来后百度的工程师也怕被骂抄袭Gmail风格,又给改了一点,感觉一般。

此外雅虎、新浪等许多门户都提供了书签收藏服务,内容,使用方面大同小异,我就不一一测试了。总结一下,在界面操作方面,QQ书签的确做得比较好,在兼容(导入导出)方面,国外的书签网站做得更不错,而QQ书签也不错,至于浏览器支持(浏览器)插件方面,显然是国内的比较重视,基本上都提供了在右键添加、工具栏添加等多种方式;国外的书签网站更放心地把这些功能交给第三方插件去做,比如Google Toolbar for Firefox,Delicious的Firefox插件。具体要用哪一种,得看用户的使用需求决定了

Blog-Info-Display博客信息显示插件

2008年08月10日,星期天

在管理后台首页显示您的Google Pagerank,Alexa Rank,以及Technorati Rank排名,每三天自动更新一次。插件所用的函数都是我先前介绍的 如何获取Alexa排名数据调用Google PageRankTechnorati API教程 中介绍过的。应Dianso 朋友的要求,即将在下面的版本中推出 Google , baidu收录查询。如果您还常关注博客的某些数据,您也可以告诉我一下,我争取把它整合到这里来。

另,该插件已经获得Wordpress官方插件目录的审核通过,但由于测试尚未完善,暂未发布到官方目录。希望朋友们使用后把情况反馈一下。待该插件正式发布后,您就可以在后台一键升级了 :)

下载:
Blog-Info-Display BETA 1.0

谢谢支持 !

如何管理链接

2008年08月9日,星期六

很多做博客的朋友肯定也有和我一样的想法,在刚做博客的时候,你的博客没有GooglePR,没有Alexa排名,没有流量和人气,于是你会想方设法地去找一些PR、排名比你高一些或是相似的博客交换链接,当然,为了交换链接,你可能会不顾及对方的博客是什么性质,不管他的主题是什么,不管他的内容是原创还是全部转摘,仅仅就看重了他那PR3或PR4,就交换了链接,如此以来,你可能就交换了三五十个链接。

随着你的博客的文章的增多,访客的增长,你会惊奇地发现你的Google Pagerank和Alexa排名在不断上涨,你的文章也常有人回复了,整个博客看起来很热闹的样子。这时候你也许还想更进一步,去找一些PR更高的博客交换链接,但肯定会被目前过多的博客链接所限制,这该怎么办?

也许这时候你就会去看看那些朋友的链接,如果他的博客早早没有更新,或不能访问了,你会把他的链接删除了,又或是那些PR很低,没有原创文章的博客,你统统将他们删除了。但这样做往往会引起他们的不满,他们会认为你是忘恩负义,没有道德之类的,这着实是一个棘手的问题。

按照我的理解,交换链接应该是基于有共同爱好、或者内容互相补充、PR等数据门当户对才是有意义的链接。但现在很多博客不是这样,他们完全是冲着你的PR来的,如果你的PR为0,他们不屑一顾,如果有2以上,他们就会装作热心的网友在你的某篇文章后面留个言,说“博主交换链接可以吗?我的地址是xxx,你的链接我已经做好了”,如果你把这句话输入Google中搜索一下,你会发现这句话很能会有几十甚至几百个结果,你去他的网站一看,这是一个完全的复制内容的站点(又或是推销某种东西的站点,行话俗称“垃圾站”),他们没有自己的内容,仅仅是为了获得你的PR而与你交换链接,在交换链接后,也许他就再也不会光临你的博客了,直到他的博客赚够了钱,懒得续费了,关门为止。

还有一些博客,你曾经是冲着他们的一点PR去的,但你努力到今天回头去看他们的博客,也许PR比当初还降了,文章也多是转摘之类的软文了,你会作何感想?

说到这里,有些朋友可能会怀疑我们做博客究竟是为了什么?为什么要被这些七七八八的问题给弄糊涂了?我个人认为,做博客就像一个当官的人一样,应该是一步一步往前走,今天PR有2了,我就应该盼着下次能有3,即便现在已经有5(在博客里应该算比较牛B的)了,我要向6,甚至7看齐;就像当官的想升科长、科长想当局长一样。这些数据是客观的,但它在一定程度上反应了你的努力程度。无论你是做一个指导别人赚钱的半商业博客,还是像我这样一个主要写技术的博客,或者是一个随便记录生活的博客,都是希望有人捧场,有人留言,有人订阅你的博客。我们既然希望看到自己的努力,那么Google Pagerank,Alexa这些数据就是一个很好的体现。

现在ThinkAgain大哥想到了一些解决问题的办法,他最近做了个插件Hot Friends,该插件是根据友情链接在一段时间内在本博客的留言情况显示链接的,比如一个经常来访问你的博客,并经常留言的朋友,他的友情链接就会显示出来,而一个从来不在你的博客留言的,则可能被“埋”下去。同时这个插件还可以自动把一些经常留言、但尚未添加到Blogroll中的朋友自动添加到友情链接中,使用这个插件可以极大地调动访客留言的积极性(特别是你的PR比较高,那留言数就应该呈指数增长了)。有需要的朋友请移步到他的博客上去查看仔细的说明并下载。

我试用了这个插件,发现插件尚有未成熟的地方,故目前既保留了原本所有的链接,又显示了这个插件,到这个插件差不多成熟了后再正式使用这个插件。

数据背后

2008年08月8日,星期五

这两天登陆博客惊喜地发现我的Alexa排名已经一举杀入了全球64W名。包括我历史上曾经做过的某个垃圾站在内,这是我管理的网站的最高排名,Happying!

这一年来,我只经营了这个博客,由于我面临着高考升学的压力,也没时间去搞一些看似很有意义的Web2.0网站。如果我满怀信心地去做,做完后我就发现,某些创意我想到了,却不知道别人更早就已经做出来了。。然后我就把在互联网上的全部精力投入到运营这个博客中去,不知不觉就接近一年了。记得我半年前还写过一篇小结,没想到又一个半年快过去了。

这里讲讲我博客目前的数据,首页Google Pagerank值2,Alexa排名 644968,Technorati博客排名 276498。这是我用了我自己瞎弄的Blog_Info_Display后,每天登陆管理后台首页就可以看到了。这个插件前两天已经通过了Wordpress官方主题站的Hosting申请,但我暂时还没有时间去发布,过两天奥运会放假空闲些就发布出来。

首先想说的是Alexa排名。这个插件我想还真是多亏了我的ALEXA的排名图片调用功能。要不也不可能在1个月内从100多W名开外直接冲到64W名。但我这个插件目前还有略微不足的地方就是向服务器请求数据时每次都是同一个接口,服务器必然以为所有的访客每次都用同一个系统,同一个浏览器,同样的分辨率(甚至同一IP),如果还不进行优化,也许再前进个十万名就有可能被Alexa惩罚了。下回我在向服务器发送请求时一定要弄个随机变量欺骗一下服务器。有可能的话,还要实现客户端的Alexa调用。

我怀疑我这性质恐怕接近于Alexa作弊了,但相比那些真正刷Alexa排名的,我还算厚道了吧。起码我的初衷不是为排名而排名,而是让我的浏览者客观地了解到他们所浏览的博客。

再谈到Google Pagerank,我一直在怀疑它是否真正能够代表网页重要性的评级?

据我的了解,国内PR上8的似乎只有www.miibeian.gov.cn,www.gov.cn以及www.baidu.com,www.google.cn(算半个国内网站),这是无可争议的。但相比于英文站的PR值,中文网站的PR值明显偏低。这当然是Google的母语崇拜在作怪。miibeian的PR值很高,肯定要感谢它独有行政资源了,但它的PR也才9而已,相比国外一些网站,如美国航天总署的NASA.GOV,它的PR就已经是9,而它的外链仅仅才10000多个,而MIIBEIAN已经有21700个(这还是Google的数据,百度那就更不得了了)

据我看来,Google PR对非英文网页有明显的偏见。另一个证据就是,我曾经要做的某个网站,后来一直没做,晒在那里,只是用E文写了几行字,后来PR就升到2,另一个更绝,只写了“Coming soon”,由于与那个PR2的站链接,PR居然也有1。

此外,Google对于网站重要性的判断过于死板。只认准了PR高的站与之交换链接的就一定是好的站,其实不然。上回听说了国内有不少的博客、小型网站的PR都有6甚至7,当我找到其中一个PR为7的博客去访问的时候,我感觉他的PR为1或2更合适。从100多篇的文章数量可以看出,这个网站经营历史并不久,并且多为软文,我怀疑除了他写的“本站PR上7”这篇文章以外其它的究竟有没有价值?同样的事例可以说数不胜数。

当然,我也不是非得要抱怨Google如何不公,我想如果我的PR到4甚至更高的时候,也许也有人会说,你这个破站PR也就2吧。

Google正版音乐下载

2008年08月6日,星期三

今天早上习惯性地打开Google Reader网页版,就看到最热的新闻当属Google新推出的正版音乐搜索服务了。其实这个新闻早在数个月前就有传闻了,如今也算姗姗来迟。

回家后第一件事就是打开Google音乐搜索首页,随便找了几个自己比较喜欢的歌手输进去,搜索结果还算比较少,但能够免费听到正版高品质的音乐,也算满足了。

Google音乐搜索是联合了国内的付费正版音乐下载网巨鲸音乐网推出的免费服务,Google将通过在下载页面放置广告、与移动公司合作推广彩铃等方式获得收益并与正版音乐公司及代理网站分享利润。Google推出此服务最大的竞争对手就是占据同类网站排行榜首的百度、以及迅雷等下载网站。国内这些网站主要以提供盗版音乐下载获得收益。

相比百度迅雷等下载的MP3歌曲,其质量和数量参差不齐,并且也常有传出百度MP3下载挂马事件,也有部分音乐是“电台版”,或者是网友手工录制,音质不能得到保证。而Google提供的正版音乐搜索下载,都来源于音乐公司,质量也得到了保证,与此同时,很多博客也进行了大量报道,相信Google正版音乐服务很快会在市场中立足的。

如何获取Alexa排名数据

2008年07月28日,星期一

上回说到Alexa的排名数据来源于Alexa工具条,所以排名数据并不十分准确,特别是对于中文网站来说,国内装Alexa工具条的多是被某些网站“误导”的用户以及一些网站站长,所以很多人也对Alexa数据不以为然。在目前情况下,Alexa的排名还是和Google PR一样被广告商们看重的数据和作为衡量网站广告投放价值的依据。

这里讲讲如何获取Alexa的数据排名。最简单的莫过于装上Alexa提供的工具条了,Alexa提供了Firefox和IE的版本,但纯粹为了看一个网站的排名而安装这个插件显得有点浪费资源。我在Firefox浏览器用的是SearchStatus这个插件,这个插件同时显示了Google PR和Alexa排名,占用位置也不大,用起来比较方便。

本文着重要讲的是如何使用从Alexa的服务器下载数据,并进行分析后应用于WP插件或提供给访客(如 http://alexa.chinaz.com/这样的服务)。Alexa官方提供了收费的API接口,每千次查询$0.15(上回凭印象说是$0.1,更正一下),既然要收费,肯定没有多少人愿意花这钱了,特别在我们中国人看来更是难以理解,照理说用你Alexa的数据应该是相当给你面子,给你人气,你还要向我收费?还好早就有人破解了Alexa工具条(貌似很多国内网站强迫要求下载的Alexa工具条还经过改装,拥有木马功能了),并把它的服务器接口盗取出来分享给大家了。

接口一:

http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680×1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

接口二:

http://data.alexa.com/data/TCaX/0+qO000fV?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=31472&act=00000000000&ss=1024×768&bw=639&t=0&ttl=4907&vis=1&rq=23&url=http://www.baidu.com

接口三:

http://data.alexa.com/data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024×768&bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://www.baidu.com

接口四:

http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680×1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

事实上,分析一下这些地址可以看到它已经将用户的浏览器信息,系统信息等发送给了服务端。

ezdy01DOo100QI是aid。
“cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&”这部分是固定值。
wid是个随机数。
act数据包含了Alexa Toobar功能的被使用情况。
ss很明显是屏幕分辨率了。
bw是IE窗口的宽度。
t取值是0或1,和当前IE的window对象还有referrer有关。
ttl是当前页面打开速度,和Site Stats中的Speed有关。
vis表明IE是否显示工具条。
rq是对象计数器。

有了这些接口,我们就可以提供Alexa排名查询的服务了。

访问任意上述地址任意一个,查询baidu.com的信息,返回XML文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <ALEXA VER="0.9" URL="baidu.com/" HOME="0" AID="=">
  4. <RLS PREFIX="http://" more="315">
  5. <RL HREF="www.3721.com/" TITLE="3 7 2 1"/>
  6. <RL HREF="search.21cn.com/" TITLE="21CN"/>
  7. <RL HREF="itsearch.ccidnet.com/" TITLE="itsearch.ccidnet.com/"/>
  8. <RL HREF="e.pku.edu.cn/" TITLE="e.pku.edu.cn/"/>
  9. <RL HREF="21cn.com/" TITLE="21cn.Com -"/>
  10. <RL HREF="163.com/" TITLE="163.com/"/>
  11. <RL HREF="search.163.com/" TITLE="search.163.com/"/>
  12. <RL HREF="dir.sohu.com/" TITLE="dir.sohu.com/"/>
  13. <RL HREF="cn.search.yahoo.com/" TITLE="cn.search.yahoo.com/"/>
  14. <RL HREF="yahoo.com/" TITLE="Yahoo!"/>
  15. </RLS>
  16. <SD TITLE="A" FLAGS="DMOZ">
  17. <TITLE TEXT="Baidu.com"/>
  18.  
  19. <ADDR STREET="The Ideal International Bldg, 12th floor" CITY="Beijing 100080,  " STATE="" ZIP="" COUNTRY="CHINA" />
  20. <CREATED DATE="11-Oct-1999" DAY="11" MONTH="10" YEAR="1999"/>
  21. <PHONE NUMBER="+86 1082607100"/>
  22.  
  23. <OWNER NAME="Baidu.com, sillyser"/>
  24. <EMAIL ADDR="baidu_dns_master@baidu.com"/>
  25. <LANG LEX="zh-CN"/>
  26. <LINKSIN NUM="58665"/>
  27. <SPEED TEXT="1062" PCT="82"/>
  28. <POPULARITY URL="baidu.com/" TEXT="11"/>
  29. <RANK DELTA="-2"/>
  30. <CHILD SRATING="0"/>
  31. <REACH RANK="13"/>
  32. </SD>
  33.  
  34. <KEYWORDS>
  35. <KEYWORD VAL="Chinese Simplified"/>
  36. </KEYWORDS><DMOZ>
  37.  
  38. <SITE BASE="baidu.com/" TITLE="Baidu.com" DESC="The leading Chinese language search engine, provides “simple and reliableâ€? search experience, strong in Chinese language and multi-media content including MP3 music and movies, the first to offer WAP and PDA-based mobile search in China.">
  39. <CATS>
  40. <CAT ID="Top/World/Chinese_Simplified/计算机/互联网络/搜寻/搜索引擎" TITLE="搜寻/搜索引擎" CID="1005774"/>
  41. </CATS>
  42. </SITE>
  43. </DMOZ>
  44. </ALEXA>

开头包括了一些反向链接的网站,中间是网站排名等信息,下面是网站介绍,网站管理员可以向Alexa添加这些信息。如果是比较不知名的小站,如我的http://photozero.net 信息就没有那么全了。

在前面的文章里提到了,调用Neekey API servicesAlexa rank显示图片还会提升Alexa排名,实际上指的就是在调用Alexa数据时,我们是模拟Alexa工具条进行查询的,所以你的博客的Alexa排名自然就提升上去了,不信您试试?我在Firefox里装上SearchStatus插件后,每天访问自己的博客一会儿,眼睁睁看着Alexa排名从300W排名开外冲到目前的110W。

PHP中获取文件排名的方法

  1. $content = file_get_contents('$alexaURL'); //自行将URL放入,如果服务器的file函数没有开启ALLOW_URL_OPEN 选项(如Dreamhost),应该用 fsockopen 等函数替代。
  2. $pattern = '/<POPULARITY URL="\s*(.+?)" TEXT="\s*(.+?)"\/>/'; //在XML中匹配的 <populartity />项里面的数据就是Alexa排名了
  3. preg_match($pattern, $content, $match); //进行匹配搜索
  4. echo $match[2]; //$match[2] 就是排名了。
  5. //如果需要其他信息就自己写个匹配模式,从里面提取出来就行了。当然用PHP提供的XML处理函数也是可以的。

除了在服务端调用进行输出外,做个AJAX调用的查询程序也不错,还节省了服务器资源。下次抽空做个放出来。

Neekey API Services

2008年07月27日,星期天

经过几天的努力,Neekey API services 总算让我搞定了 :)

这个API Services提供了Google Pagerank查询、图片调用,Alexa图片调用,以及上次提到的国旗调用服务等多种免费的Web服务。

扯点题外话,目前虽然网上有很多Google Pagerank,Alexa查询这样的服务,但我总感觉这些服务太商业化了,没有内涵,他们仅仅是关注数字这个表面的东西,而内部那些有价值的东西却很少关注。并且国内的网站都很小气,就拿提供一个Pagerank的图片来说,他们告诉你“不得修改代码,不得去除本站链接,否则永久停止服务,加入黑名单”,是不是很吝啬?我不否认使用他们的“免费服务”就应该给点链接上的回报,但我更喜欢一个开放、自由的互联网,也就是不能强制要求保留链接。这不是一个软件、程序,有GNU或CC之类的版权保护,更何况这个数据源还并非你提供的,怎么就没看见你的页面保留了Google的链接?更可笑的是国内一些“垃圾网站”的版权声明是这样写的

站内软件包含破解及注册码均由网上搜集,若无意中侵犯到您的权利,敬请来信联系我们.

未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自 XXX.COM,谢谢您的支持!

请大家看看这是什么强盗逻辑?自个儿到处“盗取”别人的东西,回头就不允许别人“盗取”你的?很可惜,目前国内很多提供Google Pagerank,Alexa这些服务的网站就是这样。而我做这个网站的目的,就是想让更多的博主能够享受Neekey API Services的开放、自由的服务。

从功能上来说,这个服务跟别的网站没有区别,主要就是查询网站的Google Pagerank值,还提供调用图片,一共有6种风格的图标可供选择。

做这个服务还得感谢Dianso的提醒。我原来一直以为调用的那个接口的某个参数是要系统计算的,后来Dianso告诉我,无论查询的网址怎么变,那个参数即使不变也是可以得到结果的,我测试成功后就做了这个服务。

Google 接口:http://www.google.com/search?client=navclient-auto&ch=6-1385476800&features=Rank&q=info:photozero.net

加粗的部分以前是要根据URL计算一个唯一值的,现在随便输入一个2位以上的数字就可以了,看来Google要放开PR的查询了。

网上有所谓的678个服务器的查询结果,其实就是把www.google.com换成不同的Google服务器的IP(如64.233.167.19 ),得到了678个相同的结果,还声称“可以根据不同的服务器返回值预测下次PR变化”。其实Google何止这678个服务器?如果想要,用扫描工具一扫就上千个IP,但实际上那么多IP,恐怕也多数是指向那几台主服务器。既然数据基本一样,又何必浪费Google资源做那么多无用功呢?

如果678个服务器的数据那么吸引人,下回我收集它几千个提供服务哈哈:)

这个是比较有趣的一个服务了。官方虽然也提供了图片调用的服务,但图片款式老土,且是用JavaScript调用,会影响页面打开的速度,所以还是推荐用我这个图片调用服务,纯粹的<img />代码,是不会影响页面速度的。

设计是我的弱项,所以也就用PHP的画图函数随便小弄了一下,看看效果:

分别是标准,古典,活泼风格,具体调用方法可以看演示Documents。下回还会增添更多的风格以及字体,敬请期待哦!特别推荐:活泼风格的图片真是很Cool的,字体会自动倾斜,彩字,而且每次效果都是不一样的。

而且调用这个图片还会提高你的网站的Alexa排名,你信吗?答案下回分解。

把原来存放在 http://photozero/api 的搬迁到 http://www.neekey.com/flag了,效果跟以前是一样的。原来有使用我的插件Reviewers_Info的朋友不用担心,它会自动转向到新地址的。而且我这个插件已经获得了官方Hosting,由于时间匆忙还没来得及发布,发布后您可以后台一键更新了。

  • 即将提供

这里说几个即将提供的服务或者其查询接口。

1.域名/IP Whois查询。虽然这个是纯粹站长用的工具(区别于一般的博客主),不过还是提供一下,而且不会很困难。目前提供这个服务的网站,要嘛速度很慢,要嘛仅仅是“Whois Server Version 1.3”,提供的信息太少,个人觉得万网(http://whois.hichina.com/)的接口是最好的,“Whois Server Version 2.0”,信息完整,速度超快,而且不用验证码。

2.Technorati。上次写了一篇 Technorati API教程,介绍了Technorati API的使用。Technorati的博客信息是比较有用的吧?那就提供博客信息查询服务好了。

3.微型博客链接平台。何为微型博客链接平台?就是一个简单的博客平台,超级简单,只要你的博客上放上一个<a href=”http://www.neekey.com”>Neekey API Services</a>,或者在调用PR图片、ALEXA图片的时候加上A链接,并且有人通过链接点击到这里,Neekey首页就会显示您的网站网址,不信您试试看。这个平台是为了方便大家交换友情链接,提升自己的PR值特别准备的 :)

好了,介绍那么多服务。如果你有自己的博客,还不试试?(只要我这个博客不倒,这些服务就会一直提供下去。也欢迎您提供创意和想法)

调用Google PageRank

2008年07月25日,星期五

很多站长都关心自己小站的Google PageRank值,倒不一定是希望PR值高了好做广告之类的,但PR作为一种比较客观的评价网站重要程度的工具,谁都希望它越高越好。

这里浅谈一下调用Google PageRank的方法。前面先说访客查看PR的方法,后面介绍程序中调用PR的方法。

浏览器调用:

我用的是Firefox3浏览器,Google为FF浏览器制作了一个工具栏(也提供了含Google工具栏的FF版本),但从我个人的使用情况来看,装载了GG工具栏的FF在启动时反应超慢,如果以我的电脑配置,FF启动需要3秒钟的话,加上GG工具栏就要20秒以上!估计第一次启动时GG工具栏要从Google调用Gmail等各种服务的最新信息,花费了不少时间。(前年我第一次尝试FF的时候就是下载“带Google工具栏的Firefox”,结果启动花了将近半分钟,让我误认为FF就是这么差劲,后来才知道是GG工具栏那么差劲)

所以我不建议FF用户装上Google工具条,还是装上一个叫SearchStatu的FF插件,该插件不但提供了Google PR的调用,也提供了Alexa的排名查询,是每个站长必备的Firefox工具。如果是IE用户,那只能装上Google工具条了,似乎GG工具条在IE下表现还不错,至少不会占用太多启动时间。

站点查询:

国内外很多站长工具站都提供了Google PageRank的查询,其实他们的数据来源大多数是本文下面所说的从Google服务器调用PR数据的方法。像国内比较著名的有zQueryChinazWebmasterhomeAdmin5。他们除了提供网页查询以外,有些还提供了<img>图片的调用,可以在你的网页里以图片方式显示PR值,(但大多数强制要求你加上他们的链接,“否则就把你加入黑名单”之类的,个人认为这些站实在是小气至极),国外有些PR查询站点还提供API接口免费在程序中调用,如TRYNT(这站在国内访问很不稳),而国内连调用图片还要你留着链接,更没有哪个站愿意提供API接口了。

服务器调用:

Google可以算得上Web2.0的先驱了,他们的产品如Google Map,Google Search大多提供了API接口以供程序开发,但Google PageRank却没有提供API接口,于是国外的高手们便通过破解Google工具栏,得出了向Google服务器请求PR数据的接口。

这里是一个Pagerank查询的完整PHP代码pagerank.zip,其中包括了范例演示、PR图标等,可以立即应用于服务。需要注意的是,该程序中使用了或异运算,它的值超出了32位的范围,故不能在Linux系统中使用,而Win系统是正常的。(本想贴这个代码,但服务器却提示503错误,所以不能贴出来讲解了,pagerankcode.com提供了这个代码以及使用范例)

后记:写这篇文章其实是想在我的WP插件中应用PR值,但迟迟未找到合适的API接口,自己的空间都是Linux的,不能运行该代码,郁闷。另一个想法就是国内的网站很小气,提供点服务都要讲那么多条件,更可笑的是PR查询服务本是一个很公开的服务,他们却当作自己的摇钱树般抱着,不是很可笑吗?

PHP识别Robot(Spider,机器人,搜索引擎)函数

2008年07月16日,星期三

最近有想做一些有趣的网站的想法,但由于时间不充足,只是光想,没有去做,但部分所需的函数还是利用课余时间想好了,也顺便分享出来,方便大家使用。

很多Web2.0网站采用了AJAX构造,这样对搜索引擎不是很友好,这里就提供一个识别各个搜索引擎的函数,在判断是搜索引擎后转入专门为搜索引擎提供的页面,方便搜索引擎收录。

  1. function is_bot(){
  2.     $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
  3.     $botchar = "/(bot|crawl|spider|slurp|yahoo|sohu-search|lycos|robozilla)/i";
  4.     if(preg_match($botchar, $ua)) {
  5.         return true;
  6.     }else{
  7.         return false;
  8.     }
  9. }

这是利用了搜索引擎的USER_AGENT进行判断,像Google的UA为GoogleBot,百度的为Baiduspider,基本上所有的搜索引擎都会增加这些字符以表明Robot的身份。

  1. if(is_bot()){
  2.     readfile('for-robot.html');
  3. }else{
  4.     include('index2.php');
  5. }

在使用时,判断是否机器人进行不同操作。