Warung Bebas

Saturday, February 25, 2012

Free (Undocummented) Alexa API



alexarank2
Alexa traffic rank menunjukkan seberapa ramai suatu situs dibanding situs lain yang ditunjukkan dengan suatu angka, yaitu rank atau posisi. Semakin kecil rank menunjukkan situs kita semakin ramai. Cara untuk melihat traffic rank adalah dengan mengunjungi situs alexa.com. Contohnya untuk traffic rank www.momsmiracle.com bisa dilihat dihttp://www.alexa.com/data/details/traffic_details/momsmiracle.com
Untuk kebutuhan tertentu, terkadang diperlukan mendapatkan data tersebut tanpa menggunakan browser, yaitu melalui program.
Scrambling CSS Magic
Alexa sebenarnya menyediakan akses traffic rank tersebut dengan suatu API, namun API tersebut tidak gratis. Kalau kita lihat source code ketika kita membuka web Alexa untuk melihat traffic rank, maka yang terlihat adalah:
1
2
3
4
5
6
7
8
9
10
Momsmiracle.com    has a  traffic rank of:</span><span class=”descBold”>    
&nbsp;<!–Did you know? Alexa offers this data programmatically. Visit
http://aws.amazon.com/awis for more information about the Alexa
Web Information Service.–>
2<span class=”c3e0″>32</span>
<span class=”cbc8″>32</span>
<span class=”cd68″>02</span>
<span class=”c1f5″>,0</span>
<span class=”c46f”>53</span>
</span>
Perhatikan mulai baris ke-5 hingga ke-9, adalah traffic rank yang dikodekan menjadi tag html dengan stylesheet. Kalau html di atas di-render, browser akan menampilkan 202,053. Ini adalah teknik Alexa untuk men-scramble teks dengan memanfaatkan yang saya sebut denganCSS Illusion Ninjutsu agar tidak mudah dibaca oleh program. Saya menyebut illusion karena dengan stylesheet maka hanya teks tertentu saja yang visible, sehingga hasil akhirnya akan terbaca sebagai 202,053.
Kenyataannya memang menyulitkan, karena angka yang seharusnya 202053 disisip banyak angka random yang tidak terpakai. Sedangkan sulit bagi program untuk menemukan yang asli di antara yang palsu.
Dalam source code html tersebut Alexa menyisipkan komentar yang memberitahukan cara mendapatkan data traffic rank secara program:
Did you know? Alexa offers this data programmatically.  Visit http://aws.amazon.com/awis for more information about the Alexa Web Information Service.
Berdasarkan situs tersebut (http://aws.amazon.com/awis), biaya untuk mendapatkan AWIS (Alexa Web Information Service) tersebut sebesar $0.00015 per request ($0.15 for 1,000 requests).
Free Alexa (undocummented) API
Sekarang saya akan berikan cara untuk mengakses API Alexa for Free. API ini memang ada, namun karena undocummented maka sedikit yang tahu.
Saya menemukan API Alexa dari addon resmi Alexa untuk Firefox, namanya Sparky. Dengan Sparky, setiap kita mengunjungi suatu situs, maka Alexa Rank akan terlihat di status bar. Dari mana Sparky bisa tahu traffic rank suatu situs? Tentu saja dengan membuat koneksi http ke situs Alexa, melalui Web Service atau API khusus.
sparky firefox
sparky firefox
Karena Firefox addon dibuat dalam Javascript, maka dengan sedikit kesabaran, kita bisa melakukan reverse engineering Sparky untuk melihat cara kerjanya.
Akhirnya saya menemukan juga web service/API yang dipakai Sparky untuk mendapatkan traffic rank, yaitu di URL:
http://data.alexa.com/data/?cli=10&dat=ns&url=<URL>
Output dari API tersebut adalah dalam format XML yang berisi bermacam-macam data tentang suatu situs.
Sebagai contoh untuk mengetahui alexa rank untuk momsmiracle.com, cukup dengan mengakses URL:
Hasilnya adalah:
1
2
3
4
5
6
7
8
9
10
11
<ALEXA VER="0.9" URL="momsmiracle.com/" HOME="0" AID="=">
<RLS PREFIX="http://" more="0">
</RLS>
<SD TITLE="A" FLAGS="">
<TITLE TEXT="Baju Hamil dan Menyusui - Butik Baju Hamil MomsMiracle.COM"/>
<LINKSIN NUM="25"/>
<POPULARITY URL="momsmiracle.com/" TEXT="202053"/>
<RANK DELTA="-188229"/>
<REACH RANK="294821"/>
</SD>
</ALEXA>
Alexa traffic rank ada pada tag POPULARITY, tepatnya pada baris ke-7 dalan contoh di atas.
Kesimpulan
Saya lihat Alexa bingung, satu hal dia ingin agar untuk mendapatkan traffic rank secara program harus melalui API berbayar. Namun di sisi lain dia juga ingin mempopulerkan traffic rank di antara pengguna Firefox dengan membuat addon gratis. Konsekuensinya adalah dia harus membuat API khusus untuk addon itu, dan API itu juga harus bisa diakses tanpa password agar bisa berjalan di Firefox.
Sebenarnya Sparky tidak hanya berfungsi untuk menampilkan traffic rank, tapi juga mengirimkan data situs yang dikunjungi pengguna. Dari data itulah Alexa bisa menentukan traffic ranknya, yaitu dari para pengguna yang memasang toolbar/addon Alexa di browsernya.
No related posts.
Tagged with:  •  • 
 

0 comments em “Free (Undocummented) Alexa API”

Post a Comment

 

Indahnya Berbagi Copyright © 2012 Fast Loading -- Powered by Blogger