Menghindari Duplikat Content di Auto Post Blogspot [PART3]
hare nubie berikutnya adalah Menghindari DUplikat kontent di Auto Post BlogspotSebelum melanjutkan pastikan anda sudah mengikuti tread saya yang di bawah ini
- http://www.adsense-id.com/forums/sho...ramework-(php)
- http://www.adsense-id.com/forums/sho...pot-(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 Code:
<?php //define nama file yang di pakai untuk mencatatdefine('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 Code:
<?phpfunction 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 Code:
<?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 Code:
<?php
define('FILE_LINK', 'datalink.html');?>
<?php function isitext(){$daritext = file_get_contents(FILE_LINK);$daritext = explode('<br/>',$daritext);
return $daritext;
}?><?phpfunction 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);
}?> <?phpfunction 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;
}?> <?phpfunction 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($curl, CURLOPT_USERAGENT, $useragent);
curl_setopt($curl, CURLOPT_URL, $link);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_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,,,
About this entry
U're Reading Menghindari Duplikat Content di Auto Post Blogspot [PART3].
Author : Side Kidz- Published :
- di 9:11 PM on 6.12.11
- Tulisan Sebelumnya:
- Posting Lama
- Tulisan Selanjutnya:
- Posting Lebih Baru
Related Post

0 komentar:
Posting Komentar