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

Menghindari Duplikat Content di Auto Post Blogspot (bagian 3)

Discussion in 'Blogger/Blogspot' started by nnttoo, Oct 30, 2011.

  1. nnttoo

    nnttoo Super Hero

    Joined:
    Apr 16, 2010
    Messages:
    1,260
    Likes Received:
    620
    hare nubie berikutnya adalah Menghindari DUplikat kontent di Auto Post Blogspot

    Sebelum melanjutkan pastikan anda sudah mengikuti tread saya yang di bawah ini

    1. http://www.adsense-id.com/forums/showthread.php/98142-Auto-Post-Di-Blogspot-dengan-Zend-Framework-(php)
    2. http://www.adsense-id.com/forums/showthread.php/98223-Ambil-Full-Artikel-dengan-PHP-Auto-Post-Di-Blogspot-(bagian-2)

    Sederhana saja sih, untuk mengetahui kontent ini sudah pernah di post atau belum, tentu kita harus mencatat konten yang kita post, sehingga hal itu dapat menghindari post duplikat dari Auto Post di blogspot.

    Trik ini sering saya terapkan untuk di wordpress juga, sehingga meringankan kerja plugin duplikat eraser yang memakan resource cukup besar karena harus ngeload semua judul di database,

    Menghindari duplikat Post yang akan saya bahas di sini di tujukan hanya untuk melengkapi Auto Post di Blogspot yang sudah sama-sama kita buat, tapi setidaknya bisa nambah-nambah ide untuk di terapkan di tempat lain untuk keperluan lain.

    Oke kita langsung saja ke pokok permasalahan,,
    cara Kerjanya gini gan, jadi link yang sudah di post melalui script Auto blogspot akan kita catat dalam sebuah file, kemudian catatan tersebut akan kita buka untuk memfilter postingan yang akan kita post berikutnya,,

    Untuk keperluan itu kita buat dulu Function untuk membaca catatan,

    ini scriptnya jangan lupa sebelumnya kita buat dulu file untuk mencatat, jangan lupa kasih akses cmodnya kasih 777 aja deh, toh bukan file penting ini,

    PHP:
    <?php //define nama file yang di pakai untuk mencatat
    define('FILE_LINK''datalink.html');?>
    <?php 
    function isitext(){
    $daritext file_get_contents(FILE_LINK);
    $daritext explode('<br/>',$daritext);
    return 
    $daritext;
    }
    ?>
    Kemudian kita buat lagi function untuk mencatat link,
    PHP:
    <?php
    function catatlink($text){
    $daritext isitext();
    $gabung array_merge($text,$daritext);
    $gabung array_slice($gabung,0,100);
    $textimplode implode('<br/>',$gabung);
    $fp fopen(FILE_LINK"w");
    fwrite($fp$textimplode);
    fclose($fp);
    }
    ?>
    Kemudian kita filter,, link nya, di penggal di tengah, saat menunju proses ngambil full kontent,, contoh scriptnya begini

    PHP:
    <?php
    $textresult
    [] ='';
    foreach (
    $isifeed as $textproses) {
    if (!
    in_array($textproses['judul'],isitext())){
    $textresult[] = $textproses;
    }
    }
    $textresult array_filter($textresult);
    $textresult array_slice($textresult,0,1);
    ?>
    yang harus di perhatikan adalah $isifeed merupakan array dari script ambil feed,, dan $textresult adalah hasil array yang sudah di filter,,


    Oke sekarang kita gabungin aja, dengan script yang ada di tread sebelumnya jadinya seperti ini

    PHP:
    <?php
    define
    ('FILE_LINK''datalink.html');?>
    <?php 
    function isitext(){
    $daritext file_get_contents(FILE_LINK);
    $daritext explode('<br/>',$daritext);
    return 
    $daritext;
    }
    ?>
    <?php
    function catatlink($text){
    $daritext isitext();
    $gabung array_merge($text,$daritext);
    $gabung array_slice($gabung,0,100);
    $textimplode implode('<br/>',$gabung);
    $fp fopen(FILE_LINK"w");
    fwrite($fp$textimplode);
    fclose($fp);
    }
    ?>
    <?php
    function sapusapu($text$awal$akhir){
    $posisistart strpos($text$awal);
    $text substr($text, ($posisistart strlen($awal)));
    $posisiakhir strpos($text$akhir);
    $text substr($text,0$posisiakhir);
    return 
    $text;
    }
    ?>
    <?php
    function ambilcurl($link){
      
    function_exists('curl_init') or die("curl library is still not installed yet on your machine!");
          
    $useragent="Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5";
      
    $curl curl_init();
        
    curl_setopt($curlCURLOPT_USERAGENT$useragent);
      
    curl_setopt($curlCURLOPT_URL$link);
      
    curl_setopt($curlCURLOPT_FOLLOWLOCATION1);
      
    curl_setopt($curlCURLOPT_HEADER0);
      
    curl_setopt($curlCURLOPT_RETURNTRANSFER1);
      
    curl_setopt($curlCURLOPT_ENCODING"");
      
    $curlData curl_exec($curl);
    curl_close($curl);
    return 
    $curlData;
    }
    ?>
    <?php 
    //ambil Judul dan url ke single post melalui feed
    $feed ambilcurl('http://rss.cnn.com/rss/cnn_topstories.rss');
    $feed explode('<item>'$feed); //feed di pecah dengan batas <item>
    $feed array_slice($feed,1,40); //di batasi cukup 1 aja kalau mau lebih ganti angka yang di belakang,
    foreach ($feed as $tiapfeed){
    $isifeed[]= array(
    'judul' => sapusapu($tiapfeed,'<title>','</title>'),
    'link' => sapusapu($tiapfeed,'<link>','</link>'),
    );
    }
    ?>
    <?php
    $textresult
    [] ='';
    foreach (
    $isifeed as $textproses) {
    if (!
    in_array($textproses['judul'],isitext())){
    $textresult[] = $textproses;
    }
    }
    $textresult array_filter($textresult);
    $textresult array_slice($textresult,0,1);
    ?>
    <?php 
    //sekarang kita sudah dapat link post dan judul, tapi masih kurang konten, ini proses ngambil kontent,
    foreach ($textresult as $tiapisifeed) {
    $kontenpost ambilcurl($tiapisifeed['link']);
    $isiartikel sapusapu($kontenpost ,'<ul class="cnn_bulletbin cnnStryHghLght">','<!--endclickprintinclude-->' ); //ini di rubah sesuai batasan artikel awal dan akhir
    $isiartikel strip_tags($isiartikel); //buang tag HTMLnya 
    $isiartikel preg_replace('/\s+/'' '$isiartikel); //buang double space
    $isilengkap[] = array(
    'judul' => $tiapisifeed['judul'],
    'link' => $tiapisifeed['link'],
    'konten' => $isiartikel,
    'tag' => 'uncategories'//tag nya nanti belakangan aja deh
    );
    }
    ?> 
    <?php foreach ($isilengkap as $jadi){
    $untukdicatat[] = $jadi['judul'];
    echo 
    '<h2>'.$jadi['judul'].'</h2>';
    echo 
    ''.$jadi['konten'].'';
    }
    catatlink($untukdicatat);
    ?>
    Untuk mengetahui apakah script tersebtu sudah bekerja atau belum coba di load scriptnya via browser,, setelah itu di reload lagi, jika filter nya sudah bekerja maka hasil reload akan berubah menjadi post yang di bawahnya,, begitu seterusnya jika kita reload lagi,,
    Ambil contohnya gini misalkan di dalam feed ada 4 judul

    1.judul satu
    2.judul dua
    3.judul tiga
    4.judul empat

    Kita load pertama yang muncul adalah judul satu, kemudian di reload lagi maka yang muncul judul dua dan seterusnya,, untuk mereset hapus aja catatan link di dalam file datalink.html
    datalink yang tercatat di file datalink.html di batasi jumlahnya (biar gak kepenuhan) bisa di lihat dalam functin catatlink($text) ada array_sclice sejumlah 100.

    Oke jika gak ada yang keliru, scipt auto post di blogspot kita sudah di lengkapi dengan filter duplikat link,

    Sekarang bagai mana jika situs target gak ada feed nya?? insya allah akan saya bahas di tread selanjutnya,

    Kalau ada pertanyaan jangan sungkan-sungkan bertanya, karena saya sambil belajar juga biar lebih masak ilmunya,,,
     
    Last edited: Nov 6, 2011
    13Char, dimasku, mynamewin and 19 others like this.
  2. DinarBlogS

    DinarBlogS Ads.id Fan

    Joined:
    Aug 22, 2011
    Messages:
    169
    Likes Received:
    7
    Location:
    Bogor
    mantap gan,,,,,

    ijin mempelejarinya gan...
     
  3. chiman

    chiman Hero

    Joined:
    Jul 16, 2007
    Messages:
    732
    Likes Received:
    33
    Location:
    Bali
    mantabs,, ijin bookmark lagi deh.. :D

    mo ane terapin untuk "sesuatu"..

    makasih, mastah.. :)
     
  4. nnttoo

    nnttoo Super Hero

    Joined:
    Apr 16, 2010
    Messages:
    1,260
    Likes Received:
    620
    Monggo, monggo, jangan lupa Like nya,,
     
  5. DinarBlogS

    DinarBlogS Ads.id Fan

    Joined:
    Aug 22, 2011
    Messages:
    169
    Likes Received:
    7
    Location:
    Bogor
    sudah di like gan :D
     
  6. menilajah

    menilajah Super Hero

    Joined:
    Mar 29, 2011
    Messages:
    3,389
    Likes Received:
    582
    Location:
    BE 64 UL BandarLampung-ID
    buka lapak nya aja gan :D
     
  7. masrimanas

    masrimanas Super Hero

    Joined:
    Oct 18, 2010
    Messages:
    1,612
    Likes Received:
    106
    Location:
    Kampar, Riau
    bookmarked:D
    thanks bgt mastah..
     
    silamer likes this.
  8. silamer

    silamer Ads.id Fan

    Joined:
    Oct 7, 2011
    Messages:
    205
    Likes Received:
    1
    Location:
    Karawang
    Jempol lagi om...:D
     
  9. nnttoo

    nnttoo Super Hero

    Joined:
    Apr 16, 2010
    Messages:
    1,260
    Likes Received:
    620
    Udah ada ide sih,, cuma belum nanti-nanti deh,,
     
  10. wonkzintink

    wonkzintink Ads.id Pro

    Joined:
    Dec 17, 2010
    Messages:
    332
    Likes Received:
    5
    Location:
    Sulawaya (suroboyo)
    Alhamdulillaaahh , bungkus Sob
     
  11. sugenghariono

    sugenghariono Ads.id Fan

    Joined:
    Nov 2, 2012
    Messages:
    240
    Likes Received:
    7
    Location:
    Kota Surabaya, Indonesia
    wah musti melajarinya pelan2 ini,maklum awam coding hehehe..btw thank sharingnya gan
     
  12. GrafitianZ

    GrafitianZ Super Hero

    Joined:
    Nov 6, 2010
    Messages:
    3,444
    Likes Received:
    202
    Location:
    JakCity
    Sekedar saran aja gan...langsung kasih filenya digabung :D
     
  13. nnttoo

    nnttoo Super Hero

    Joined:
    Apr 16, 2010
    Messages:
    1,260
    Likes Received:
    620
    KAta orang gak baek ngasih ikan itu gan,, lebih baik ngasih pancing,,

    itulah tujuan Open Souce, biar scriptnya berkembang, jadi lebih canggih wkwkwk

     
    superkunam likes this.
  14. superkunam

    superkunam Super Hero

    Joined:
    Oct 19, 2009
    Messages:
    963
    Likes Received:
    50
    Location:
    Di Depan Komputer Kantor
    manteb bener.. ane ngikutin dari awal masih bingung.. tapi harus bisa

    Tengkyu mastah. like dipencet

    ntar kalau mentok gak bisa oprek php nya ane beli aja servicenya.. wokokoko
     
  15. Jambu

    Jambu Ads.id Starter

    Joined:
    Aug 27, 2011
    Messages:
    57
    Likes Received:
    0
    Nyimak dari awal scroll sampai akhir gak mudeng mudeng
     
  16. sandydoank12

    sandydoank12 Hero

    Joined:
    Nov 30, 2011
    Messages:
    661
    Likes Received:
    10
    nyimak dari pojok aja gan
     
  17. emailekosusanto

    emailekosusanto Ads.id Fan

    Joined:
    Apr 25, 2011
    Messages:
    189
    Likes Received:
    3
    Location:
    Pulang Pisau - Kalimantan Tengah
    Akhirnya setelah 2 malam membaca + mengotak-atik akhirnya berhasil juga .... ditunggu kelanjutan sharenya bro ! terus gimana ngambil dari feed yang ingin kita ambil bro
     
  18. batalion_1st

    batalion_1st Ads.id Starter

    Joined:
    Jul 6, 2007
    Messages:
    84
    Likes Received:
    1
    Location:
    Tangerang
    tapi kan tetep aja masih duplicate content ama yg feed yg kita ambil ??? / gak lolos copyscape ? bukan begitu mastah ?
     
  19. zalorot

    zalorot Super Hero

    Joined:
    Aug 6, 2009
    Messages:
    826
    Likes Received:
    11
    kebanyakan ngasih like . tapi gw suka yang ini :)):)):)):)):)):)):))
     
  20. setia

    setia Newbie

    Joined:
    Nov 1, 2006
    Messages:
    33
    Likes Received:
    0
    nice share bos. mantab bagi newbie seperti saya.
     

Share This Page