讓你的網站脫穎而出:構建自己的Aleax查詢服務
每個網站的站長都會想盡辦法提升網站的流量,從而獲得更高的廣告收入。那么評判一個網站好壞的標準,如Google的PR(PageRank),百度權重等。從PV(PageView)流量的角度,一...
每個網站的站長都會想盡辦法提升網站的流量,從而獲得更高的廣告收入。那么評判一個網站好壞的標準,如Google的PR(PageRank),百度權重等。從PV(Page View)流量的角度,一個非常重要指標就是Alexa網站排名。
同全球的網站相比,你就能了解到自己網站的位置,讓我們先擠進全球前10萬的排名吧,不然都不好意思跟同行說,“自己有一個網站”。
目錄
1. Alexa介紹
2. 用Node開發Alexa服務
3. 作者介紹
1. Alexa介紹
Alexa (http://www.alexa.com/)是一家發布世界網站排名的網站,以搜索引擎起家的Alexa創建于1996年4月(美國),目的是讓互聯網網友在分享虛擬世界資源的同時,更多地參與互聯網資源的組織。Alexa每天在網上搜集超過1TB的信息,不僅給出多達幾十億的網址鏈接,而且為其中的每一個網站進行了排名。可以說,Alexa是當前擁有URL數量最龐大,排名信息發布最詳盡的網站。
1999年,Alexa被美國電子商務旗艦企業“亞馬遜”收購,成為后者的全資子公司。2002年春,Alexa放棄了自己的搜索引擎,轉而與Google合作。
Alexa提供了網站流量統計的服務,對全球有域名的網站進行流量記錄。也就是說,只要你申請了域名,在Alexa中就可以查詢到你的網站的排名。Alexa的網站排名是按照每個特定網站的被瀏覽率進行排名的。瀏覽率越大,排名越靠前。
通常情況,如果你的域名剛剛注冊,排名在1千萬以上;接下來,你每天都經心運營網站,小有起色時,排名會進入前1百萬;然后,你繼續發布優質內容,堅持了一段時間,排名會升至前50萬;當你的網站在某一領域小有名氣時,排名可以到達10萬,如粉絲日志122616(2015-10-25),這時就會有廣告主愿意來投放廣告了;如果你做的是以盈利為目的的網站,那么你需要再加油,進入到前1萬,這個時候你的流量已經可以為你帶來生意了;如果能做的更好,排名進入前2000,像雪球排名到2109(2015-10-25),那么你將會有一個很高的估值了;如果能趕上一個天大的機遇,你的網站排名到了前100,那么你的網站將給你帶來上市公司的價值,如京東105(2015-10-25);如果你是天才型的CEO,網站進了前10名,那么你將會成為一個產業的領袖,甚至是某個區域的首富,如百度4(2015-10-25)。
站長們,加油!
2. 用Node開發Alexa服務
2.1 Alexa開放API
Alexa網站排名被業界普通的認可,排名數據會經常地被引用,每次都在網站上查詢就會顯得不方便。Amazon提供的Alexa的API,讓開發者可以構建自己的Alexa查詢的應用。
Alexa有2個主要的數據API服務。
• Alexa Web Information Service,查詢單個網站的排名信息
• Alexa Top Sites,查詢網站的綜合排名
通常情況,只需要調用UrlInfo數據接口,就可以獲得網站的流量數據了。當然,這個接口的定義,并不像我之前想象的那么好用,而且開放出來的數據有限。
UrlInfo接口的API,如下圖所示。
官方提供了多語言的SDK工具包,我覺得還是Node.js最方便。我構建的一個Alexa數據查詢服務,http://fens.me/alexa
2.2 創建AWS的API密鑰
我們在使用AWS的API之前,需要先創建密鑰,類似于OAuth2的訪問的機制。
1. 注冊AWS賬號,請大家自己完成。注冊
2. 進入AWS賬號管理控制臺,控制臺
3. 從控制臺選擇“安全證書”
4. 創建訪問密鑰(訪問密鑰 ID 和私有訪問密鑰)
我們一會寫程序的時候,需要輸入創建的訪問密鑰 ID 和私有訪問密鑰。
2.3 用Node開發Alexa服務
接下來,介紹用Node構建一個Alexa的項目。
我的系統環境
• win10 64bit
• Node v0.12.3
• NPM 2.9.1
創建項目
~D:/workspace/nodejs>mkdirnodejs-alexa&&cdnodejs-alexa
新建Node項目配置文件:package.json
- ~vipackage.json
- {
- "name":"alexa-demo",
- "version":"0.0.1",
- "description":"alexawebdemo",
- "license":"MIT",
- "dependencies":{
- "awis":"0.0.8"
- }
- }
安裝awis包
- ~D:/workspace/nodejs/nodejs-alexa>npminstall
- [email protected].
- [email protected]
- [email protected]_modules/alexarank
- ├──[email protected]([email protected],[email protected])
- └──[email protected]([email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected])
- [email protected]_modules/awis
- ├──[email protected]([email protected],[email protected])
- ├──[email protected]
- └──[email protected]([email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected],[email protected])
新建文件alexa.js,調用AWS Alexa網站排名API。
- ~vialexa.js
- //定義AWS密鑰
- varkey='xxxxxxxxxxxxxxx';
- varsercet='xxxxxxxxxxxxxxx';
- //創建awis實例化對象
- varawis=require('awis');
- varclient=awis({
- key:key,
- secret:sercet
- });
- //調用UrlInfo接口
- console.log("=============UrlInfo=================");
- client({
- 'Action':'UrlInfo',//UrlInfo接口
- 'Url':'fens.me',//查詢的網站
- 'ResponseGroup':'TrafficData,ContentData'//需要的數據組
- },function(err,data){
- if(err)console.log(err);
- console.log(data);
- });
運行程序node alexa.js
- ~D:/workspace/nodejs/nodejs-alexa>nodealexa.js
- =============UrlInfo=================
- {contentData:
- {dataUrl:'fens.me',
- siteData:
- {title:'粉絲日志',
- description:'跨界的IT博客|Hadoop家族,R,RHadoop,Nodejs,AngularJS,NoSQL,IT金融'},
- speed:{medianLoadTime:'982',percentile:'70'},
- adultContent:'',
- language:'',
- linksInCount:'198',
- keywords:'',
- ownedDomains:''},
- trafficData:
- {dataUrl:'fens.me',
- rank:'122616',
- usageStatistics:{usageStatistic:[Object]},
- contributingSubdomains:{contributingSubdomain:[Object]}}}
簡簡單單地幾行代碼,都獲得了Alexa的排名信息。后臺打印時Object沒有轉到成對象,我做了一個服務,可以通過HTTP輸出查看完整的返回。http://api.fens.me/alexa/fens.me
-
無相關信息