1. Halo Guest, pastikan Anda selalu menaati peraturan forum sebelum mengirimkan post atau thread baru.

Cara membuat Alexa Rank Checker dengan php

Discussion in 'Pemrograman Web' started by boybuzz, Nov 21, 2011.

  1. boybuzz

    boybuzz Newbie

    Joined:
    Nov 4, 2009
    Messages:
    13
    Likes Received:
    0
    Langsung aja nih disalin kode phpnya dan jangan lupa dicoba :D
    PHP:
    <?php
    $url 
    'fagela.com';
    //ini query untuk mendapatkan data xml dari alexa
    $kueritujuan 'http://xml.alexa.com/data?cli=10&dat=nsa&ver=quirk-searchstatus&uid=19700101000000&userip=127.0.0.1&url='.urlencode($url);
    $batasan curl_init();
    //Jika script ini tidak berfungsi, anda boleh mencoba useragent dibawah ini. Selama ini tanpa user agent bisa berjalan dengan baik.
    //$user_agent = 'Mozilla/5.0';
    curl_setopt ($batasanCURLOPT_URL$kueritujuan);
    //fungsi dibawah ini harus diaktifkan jika Anda ingin menggunakan user agent
    //curl_setopt ($batasan, CURLOPT_USERAGENT, $user_agent);
    curl_setopt ($batasanCURLOPT_HEADER0);
    curl_setopt ($batasanCURLOPT_RETURNTRANSFER1);
    curl_setopt ($batasanCURLOPT_FOLLOWLOCATION1);
    curl_setopt ($batasanCURLOPT_TIMEOUT120);
    $alexaXml curl_exec($batasan);
    curl_close($batasan);
     
    $xml_parser xml_parser_create();
    xml_parser_set_option($xml_parserXML_OPTION_CASE_FOLDINGfalse);
    xml_set_element_handler($xml_parser,'awalelemen','ahirelemen');
    xml_parse($xml_parser,$alexaXml);
    xml_parser_free($xml_parser);
     
    function 
    awalelemen($xmlParser,$nama,$fagelacom){
     if(
    $nama=='CAT'){
      if(isset(
    $fagelacom['ID'])){
       echo 
    'DMOZ Cat = '.$fagelacom['ID'].'<br />';
      };
     }elseif(
    $nama=='LINKSIN'){
      if(isset(
    $fagelacom['NUM'])){
       echo 
    'Alexa Links = '.$fagelacom['NUM'].'<br />';
      };
     }elseif(
    $nama=='POPULARITY'){
      if(isset(
    $fagelacom['TEXT'])){
       echo 
    'Alexa Rank = '.$fagelacom['TEXT'].'<br />by <a href="http://checker.fagela.com">FAGELA</a>';
      };
     };
    }
    function 
    ahirelemen($xmlParser,$nama){
    }
    ?>
    Script ini juga saya gunakan di
    Code:
    http://checker.fagela.com
     
    Last edited: Nov 21, 2011
  2. denaya

    denaya Super Hero

    Joined:
    Aug 13, 2010
    Messages:
    1,381
    Likes Received:
    172
    Berdasar alexa toolbar nya pake _http://xml.alexa.com/ ?? bukan IP yah mas bro ?
     
  3. dilahandini

    dilahandini Newbie

    Joined:
    Apr 1, 2011
    Messages:
    45
    Likes Received:
    5
    Salah Codenya yang betul ini gini
    PHP:
     <?php
    $url 
    'fagela.com';
    //ini query untuk mendapatkan data xml dari alexa
    $kueritujuan 'http://xml.alexa.com/data?cli=10&dat=nsa&ver=quirk-searchstatus&uid=19700101000000&userip=127.0.0.1&url='.urlencode($url);
    $batasan curl_init();
    //Jika script ini tidak berfungsi, anda boleh mencoba useragent dibawah ini. Selama ini tanpa user agent bisa berjalan dengan baik.
    //$user_agent = 'Mozilla/5.0';
    curl_setopt ($batasanCURLOPT_URL$kueritujuan);
    //fungsi dibawah ini harus diaktifkan jika Anda ingin menggunakan user agent
    //curl_setopt ($batasan, CURLOPT_USERAGENT, $user_agent);
    curl_setopt ($batasanCURLOPT_HEADER0);
    curl_setopt ($batasanCURLOPT_RETURNTRANSFER1);
    curl_setopt ($batasanCURLOPT_FOLLOWLOCATION1);
    curl_setopt ($batasanCURLOPT_TIMEOUT120);
    $alexaXml curl_exec($batasan);
    curl_close($batasan);
     
    $xml_parser xml_parser_create();
    xml_parser_set_option($xml_parserXML_OPTION_CASE_FOLDINGfalse);
    xml_set_element_handler($xml_parser,'awalelemen','ahirelemen');
    xml_parse($xml_parser,$alexaXml);
    xml_parser_free($xml_parser);
     
    function 
    awalelemen($xmlParser,$nama,$fagelacom){
     if(
    $nama=='CAT'){
      if(isset(
    $fagelacom['ID'])){
       echo 
    'DMOZ Cat = '.$fagelacom['ID'].'<br />';
      };
     }elseif(
    $nama=='LINKSIN'){
      if(isset(
    $fagelacom['NUM'])){
       echo 
    'Alexa Links = '.$fagelacom['NUM'].'<br />';
      };
     }elseif(
    $nama=='POPULARITY'){
      if(isset(
    $fagelacom['TEXT'])){
       echo 
    'Alexa Rank = '.$fagelacom['TEXT'].'<br />';
      };
     };
    }
    function 
    ahirelemen($xmlParser,$nama){
    }
    ?>  
    :swt:
     
  4. ellabram

    ellabram Super Hero

    Joined:
    Oct 23, 2007
    Messages:
    1,293
    Likes Received:
    42
    Location:
    SBY - BDG
    mana ini yang bener?
     
  5. reeVes

    reeVes Super Hero

    Joined:
    Dec 12, 2009
    Messages:
    2,020
    Likes Received:
    64
    Location:
    behind XT2i
    beda nya disini mas

    versi ts
    PHP:
    echo 'Alexa Rank = '.$fagelacom['TEXT'].'<br />by <a href="http://checker.fagela.com">FAGELA</a>';
    versi dilahandini
    PHP:
    echo 'Alexa Rank = '.$fagelacom['TEXT'].'<br />';
     
  6. ellabram

    ellabram Super Hero

    Joined:
    Oct 23, 2007
    Messages:
    1,293
    Likes Received:
    42
    Location:
    SBY - BDG
    ini emang bener2 script yang dipake di fagela.com itu? kok di fagela.com ada cek pr ama index juga?
     
  7. denaya

    denaya Super Hero

    Joined:
    Aug 13, 2010
    Messages:
    1,381
    Likes Received:
    172
    versi pake proxy nya juga ada :D
    2 hari dari N/A jadi 13 Jt
     
  8. ellabram

    ellabram Super Hero

    Joined:
    Oct 23, 2007
    Messages:
    1,293
    Likes Received:
    42
    Location:
    SBY - BDG
    maksudnya gmn mas? mana yang versi pake proxy?
     
  9. denaya

    denaya Super Hero

    Joined:
    Aug 13, 2010
    Messages:
    1,381
    Likes Received:
    172
    aku trial dulu seminggu mas bro. kl emang bener2 valid hasilnya. aku share so far sih turunnya signifikan ..

    - Aman
    - Ga makan BW Hosting
     
  10. exzant

    exzant Super Hero

    Joined:
    Dec 21, 2009
    Messages:
    2,284
    Likes Received:
    455
    Location:
    Solo ›› Jogja
    ane pake ini :
    PHP:
    <?php
    function getAlexaRank($url) {
        
    $siteurl $url;
        
    $url 'http://data.alexa.com/data?cli=10&dat=snbamz&url=' urlencode($url);
        
    $ret file_get_contents($url);
        
    preg_match('/\<popularity url\="(.*?)" TEXT\="([0-9]+)"\/\>/si'$ret$matches);
        
    $result = ($matches[2]) ? $matches[2] : 0;
        return 
    '<a href="http://www.alexa.com/siteinfo/' $siteurl '>' number_format($result) . '</a>';
    }
    $url 'adsense-id.com';
    echo 
    'Alexa Rank ' $url ' : ' getAlexaRank($url);
    ?>
    simple yak :D
    tp hrs support cURL
    *) itu yg ane pk di salah satu signature ane
     
    JuraganHosting likes this.
  11. JuraganHosting

    JuraganHosting Hero

    Joined:
    Dec 11, 2010
    Messages:
    650
    Likes Received:
    20
    Location:
    www.mantaphosting.com
    signature yang merah ya gan :D
    tampilannya mantap gan
     
  12. wongkediri

    wongkediri Ads.id Pro

    Joined:
    Apr 30, 2010
    Messages:
    341
    Likes Received:
    2
    Location:
    Kedirigakure
    siip bs untuk langsingin alexa jg
     
  13. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    kayaknya code yang ditulis oleh boybuzz maupun yang udah dikoreksi dilahandini masih ada yang salah deh.
    kesalahannya di
    Code:
    if(blablabla){
    echo 'blablabla';
    };
    
    yang bener harusnya gini
    Code:
    if(blablabla){
    echo 'blablabla';
    }
    
    tanda ";" di belakang tanda "}" harus dibuang semua

    tapi kalau aku yang salah ya harap maklum aku masih belajaran PHP :)

    ngambil datanya pakai xml.alexa.com ama data.alexa.com hasilnya jg kayaknya sama aja
    yang ditulis boybuzz nampilin alexa rank, jumlah alexa link dan DMOZ
    sedang yang ditulis exzant cuma diambil alexa ranknya doang (selain beda url data dan metode pengambilan datanya)
     
  14. xrvel

    xrvel Super Hero

    Joined:
    Oct 21, 2007
    Messages:
    2,873
    Likes Received:
    947
    Location:
    Di sini
    Banyak jalan menuju roma. Style coding boleh beda, yg penting hasilnya sama. Kayanya kode TS & dilahandini sama wae hasilnya :komunis:
     
  15. boybuzz

    boybuzz Newbie

    Joined:
    Nov 4, 2009
    Messages:
    13
    Likes Received:
    0
    Sorry baru bisa online. tahu2 dah banyak komentar bro. Yang bnr ya versi ts lah. :D
    Di coba aja ya bro :)

    ---------- Post added at 02:38 PM ---------- Previous post was at 02:31 PM ----------

    [/COLOR]@ mp3 online ( tanda ";" di belakang tanda "}" harus dibuang semua ). Jangan bodohin tmn2 ah!!. kalau salah buang malah error ntar. mendingan gitu aja. yang dibuang cukup <a href="http://checker.fagela.com">FAGELA</a> saja :)

    ---------- Post added at 02:42 PM ---------- Previous post was at 02:38 PM ----------

    [/COLOR ]Yang diubah oleh dilahandini
    PHP:
    echo 'Alexa Rank = '.$fagelacom['TEXT'].'<br />
    Versi saya
    PHP:
    echo 'Alexa Rank = '.$fagelacom['TEXT'].'<br />by <a href="http://checker.fagela.com">FAGELA</a>';
    Nggak ada bedanya. Cuma dibuang bagian <a href="http://checker.fagela.com">FAGELA</a> saja, hahahaha, pada ngaco :D
     
    Last edited: Nov 22, 2011
  16. ellabram

    ellabram Super Hero

    Joined:
    Oct 23, 2007
    Messages:
    1,293
    Likes Received:
    42
    Location:
    SBY - BDG
    ditunggu versi cek lengkap ama pr dan index segala macamnya serta versi turunin alexanya ....
     
  17. semutdanlaba2

    semutdanlaba2 Hero

    Joined:
    Sep 23, 2011
    Messages:
    578
    Likes Received:
    15
    Location:
    Bumi Alloh SWT
    aduh pake CURL segala.
    yang pake echo doang ada ngga?

    :p
     
  18. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    keduanya sama-sama benar. cuma beda jalan dan beda kendaraan :)
    yang ditulis exzant cuma dicuplik alexa ranknya doang, tapi kalau ditambahi DMOZ dan alexa link juga bisa.
    kalau gak percaya coba deh tukar url punyamu yang xml.alexa.com dengan data.alexa.com punya exzant dan sebaliknya pasti hasilnya sama.
    contoh nih yang punya exzant diedit kayak gini biar juga memiliki hasil alexa link
    Code:
    <?php
    function getAlexaRank($url) {
        $siteurl = $url;
        $url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url=' . urlencode($url);
        $ret = file_get_contents($url);
        preg_match('/\<popularity url\="(.*?)" TEXT\="([0-9]+)"\/\>/si', $ret, $matches);
        $result = ($matches[2]) ? $matches[2] : 0;
        preg_match('/\<linksin num\="([0-9]+)"\/\>/si', $ret, $cocok);
        $hasil = ($cocok[1]) ? $cocok[1] : 0;
        return '<a href="http://www.alexa.com/siteinfo/'.$siteurl.'>'.number_format($result).'</a> and have <a href=http://www.alexa.com/site/linksin/'.$siteurl.'>'.number_format($hasil).'</a> Alexa Links';
        
    }
    $url = 'fagela.com';
    echo 'Alexa Rank ' . $url . ' : ' . getAlexaRank($url);
    ?>
    
    hasilnya akan sama-sama mempunyai rank dan link yang angkanya juga sama kayak hasil scriptmu
    jadi kesimpulannya kedua script tersebut sama-sama benar.
    kalau konsumsi resource servernya aku gak tau gedean yang mana hehe

    hehe aku kan udah bilang kalau aku yang salah harap maklum karena aku masih belajaran PHP.
    tapi kalau lihat tutorial ini gak ada tuh yang pakai ";" di belakang "}"
    hxxp://www.tizag.com/phpT/if.php
    hxxp://www.tizag.com/phpT/elseif.php
    hxxp://www.tizag.com/phpT/ifelse.php
     
  19. boybuzz

    boybuzz Newbie

    Joined:
    Nov 4, 2009
    Messages:
    13
    Likes Received:
    0
    Sip bro!!. Dari awal kan saya tidak menyalahkan pendapat mas bro. cuma takut ntar teman-teman yg belum ngerti benar tentang php seperti saya ini salah buang kodenya trus script yg saya share itu di anggap asal-asalan. mungkin dari bahasa saya yang kurang benar ya bro?. "Jangan bodohin tmn2 ah!!". Sorry-sorry, ma'aaaaf beribu-ribu maaf.

    Tapi ada manfaatnya juga sih. Kalau nggak gitu referensi tutorial phpnya nggak kluar. :D
     
  20. mp3online

    mp3online Super Hero

    Joined:
    Jul 19, 2011
    Messages:
    2,228
    Likes Received:
    294
    Location:
    jakarta
    gak papa, nyantai aja boss. namanya juga sama2 belajar :)
     

Share This Page