Movie Site Part 1 : Membuat Autoblog Movie dengan JSON API Request

August 19, 2011 by: 37

autocontent-movie

Hampir enam bulan sudah saya menulis tentang Movie Site, dan baru kali ini berkesempatan lagi sharing tentang bagaimana membuat Autoblog Movie Review seperti yang saya janjikan.

Langsung saja deh, sepertinya banyak yang sudah menunggu heheh.

Pertama, data movie yang kita ambil adalah dari RottenTomatoes. Sebetulnya ada data yang lebih lengkap seperti data dari IMDB, namun kali ini akan saya mulai dari RottenTomatoes saja yang simple. Silahkan register dulu untuk mendapatkan API Key disini.

Prinsip kerja autocontent ini adalah, mengambil keyword judul film dari judul posting. Mencari datanya di RottenTomatoes database, lalu menampilkannya sebagai konten. Sehingga supaya script ini berjalan, judul posting haruslah judul film disertai tahun film itu dirilis, karena banyak film yang judulnya serupa.

Contoh misalkan: Kung Fu Panda 2 (2011)

Script ini di hook dalam themes WordPress, jadi kita akan bermain-main dengan single.php, sidebar.php dan index.php. Saya sarankan anda buat blog dummy untuk mencoba di sebuah subdomain dengan themes default, TwentyTen.

Masuklah editor themes WordPress dan buka single.php atau jika memakai TwentyTen, loop-single.php. Carilah kode?<?php the_content(); ?> lalu masukkan baris-baris kode berikut ini persis diatasnya.

<?php

$movie_key = str_replace(‘ ‘, ‘+’ , get_the_title());

Kode diatas untuk ambil keyword dari judul post dan mengganti spasi dengan tanda plus (+) sehingga akan didapat keyword : Kung+Fu+Panda+2+(2011).

$api_key = ’12345′; //ganti dengan API Key Anda
$jsonfile=’http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=’.$api_key.’&q=’.$movie_key.’&page_limit=1′;
$data = json_decode(file_get_contents($jsonfile));
$movie_id = $data->movies[0]->id;

Kode diatas adalah untuk request data film sesuai keyword ke RottenTomatoes. Ganti angka 12345 pada $api_key dengan API Key anda.

$movie_judul = $data->movies[0]->title;
$movie_tahun = $data->movies[0]->year;
$movie_rating = $data->movies[0]->mpaa_rating;
$movie_durasi = $data->movies[0]->runtime;
$movie_tanggal = $data->movies[0]->release_dates->theater;
$movie_sinopsis = $data->movies[0]->synopsis;
$movie_poster = $data->movies[0]->posters->detailed;

Kode diatas untuk mengambil info film seperti judul, tahun, rating, durasi, tanggal rilis, sinopsis dan gambar poster.

$movie_aktor1 = $data->movies[0]->abridged_cast[0]->name;
$movie_tokoh1 = $data->movies[0]->abridged_cast[0]->characters[0];
$movie_aktor2 = $data->movies[0]->abridged_cast[1]->name;
$movie_tokoh2 = $data->movies[0]->abridged_cast[1]->characters[0];
$movie_aktor3 = $data->movies[0]->abridged_cast[2]->name;
$movie_tokoh3 = $data->movies[0]->abridged_cast[2]->characters[0];

Kode diatas untuk mengambil 3 orang nama pemain utama dan karakter yang dimainkan.

Selanjutnya adalah menampilkan info tadi sebagai postingan blog.

?>

<br><img src=”<?php echo $movie_poster; ?>”><br>
<h2><?php echo $movie_judul.’ (‘.$movie_tahun.’)'; ?></h2>
Released on <?php echo $movie_tanggal; ?><br>
MPAA Rating is <?php echo $movie_rating; ?><br>
Runtime <?php echo $movie_durasi; ?> minutes.<br><br>
<b>Movie Synopsis:</b><br><p align=”justify”><?php echo $movie_sinopsis; ?></p><br><br>
<b>Movie casts:</b><br><?php echo $movie_aktor1.’ as ‘.$movie_tokoh1.’, ‘.$movie_aktor2.’ as ‘.$movie_tokoh2.’, ‘.$movie_aktor3.’ as ‘.$movie_tokoh3; ?><br><br>

Bagaimana dengan video trailernya? Untuk video kita pakai Youtube API dan tidak diperlukan API key untuk request ini.

<?php
$jsonfile2=’http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&q=’.$movie_key.’+trailer&max-results=1′;
$data2 = json_decode(file_get_contents($jsonfile2));
$video_kode = $data2->data->items[0]->id;
$gbr1 = ‘http://i.ytimg.com/vi/’.$video_kode.’/1.jpg’;
$gbr2 = ‘http://i.ytimg.com/vi/’.$video_kode.’/2.jpg’;
$gbr3 = ‘http://i.ytimg.com/vi/’.$video_kode.’/3.jpg’;
?>

Kode diatas untuk melakukan pencarian video trailer di Youtube berdasarkan keyword yang diambil dari judul post. Kemudian mengambil kode video apabila video trailer sudah ditemukan, dan untuk menampilkan player video dengan kode embed iframe berikut ini:

<b>Movie Trailer:</b><br>
<iframe width=”560″ height=”349″ src=”http://www.youtube.com/embed/<?php echo $video_kode; ?>” frameborder=”0″ allowfullscreen></iframe>

Lalu supaya konten lebih kaya, kita dapat menambahkan beberapa gambar adegan dari film. Gambar ini bisa diambil dari thumbnail video Youtube.

<br><br><b>Pictures from Movie:</b><br>
<img src=”<? echo $gbr1; ?>”> <img src=”<? echo $gbr2; ?>”> <img src=”<? echo $gbr3; ?>”>

Potongan kode-kode tadi apabila dijadikan utuh adalah seperti ini. Dan jika single post diakses akan menampilkan halaman seperti ini.

Gunakan kreatifitas anda sehingga data tadi dapat menampilkan konten yang unik dan menarik seperti ini atau ini dan ini. Page tersebut ditambah data yang lebih lengkap dibanding RottenTomatoes, seperti ini.

Setelah kode tadi dipasang, anda cukup posting judul film saja sebagai judul post, sedangkan konten akan otomatis digenerate. Anda bisa posting manual atau memanfaatkan RSS Feed judul-judul film, dan buatlah autoposting dengan plugin autoblog seperti WP-Robot atau Autoblogged. Cukup ambil judul film-nya saja.

Trik untuk autoposting movie sesuai jadual Upcoming Movie, In Theatre, Opening This Week, atau Box Office sesuai schedule di RottenTomatoes, akan saya sharing pada tulisan saya kedepan. Juga tentang bagaimana membuat konten yang lebih unik dan kaya dengan Related Twitter Status, custom video player, atau Movie Reviews, dan juga AutoContent untuk Episode TV Shows!

;)

Tulisan saya setelah ini (Part 2) adalah bagaimana cara monetisasi situs movie kita dengan AffiliateBuzz, dengan menambahkan link, button, watermark play button, atau landing page seperti ini.

Bagi anda yang menginginkan akses ke data movie yang lebih lengkap seperti data di IMDB, atau ingin mengoprek situs movie anda jadi seperti situs-situs movie saya, silahkan kontak saya di FB, Twitter, atau YM.

Akhir kata, mmm, WordPress is my world. Others are satellites. Begitu kata teman saya.

:D

UPDATE

30/08/2011. Pertanyaan dari Maskadi melalui Twitter. Tentang bagaimana untuk menampilkan gambar poster sebagai thumbnail di halaman depan.

Sebetulnya tidak hanya gambar poster, semua info yang ditampilkan di halaman single.php juga bisa ditampilkan di halaman depan. Dalam hal ini misal kita ingin juga menampilkan poster film dibawah judul posting pada halaman depan,

Buka file index.php dari themes anda atau loop.php jika memakai themes default TwentyTen. Sebelum baris kode?<?php the_content(); ?> masukkan kode berikut:

$movie_key = str_replace(‘ ‘, ‘+’ , get_the_title());
$api_key = ’1234′; //ganti dengan API Key Anda
$jsonfile=’http://api.rottentomatoes.com/api/public/v1.0/movies.json?apikey=’.$api_key.’&q=’.$movie_key.’&page_limit=1′;
$data = json_decode(file_get_contents($jsonfile));
$movie_poster = $data->movies[0]->posters->detailed;
<br><img src=”<?php echo $movie_poster; ?>” width=”75″><br>

Angka 75 pada width merupakan ukuran lebar gambar, tinggi nya akan menyesuaikan berdasarkan rasio. Pemanggilan variabel $movie_poster yang berisi url file gambar poster ini, disesuaikan dengan themes anda. Cara ini yang saya pakai untuk menampilkan poster sebagai thumbnail di situs MUVIXX.com.

31/08/2011. Kemudian pertanyaan kedua dari Blog Bagus melalui komentar post ini, bahwa data film tidak tampil di blognya, bahkan menampilkan error. Saya sudah jawab melalui komentar dibawahnya.

Incoming search terms:

cara bikin autoblog amazon blogspot, cara pakai imdb api, $movie_key = str_replace( $query); single php, autoblog movies, mengambil api amazon dengan php, menampilkan related video youtube sesuai judul postingan blog, memakai api key yotube, kode pencarian video youtube php, cara pakai ytimg json, autoblog amazon dengan api key
Share this Story

Charlie menekuni bisnis Internet Marketing sejak 2005 dan memulai blog ini 4 tahun lalu. Awal 2010 resmi menjadi pengangguran dan terjun sebagai fulltime blogger. Tinggal di Jogjakarta, menjalankan BlogBizz Networks dan STÒÓDIO2.com.

Add a Comment on "Movie Site Part 1 : Membuat Autoblog Movie dengan JSON API Request"
Post comment as twitter logo facebook logo
Sort: Newest | Oldest

 CharlieNumber7 mas, saya udah coba nerapin kode2 diatas. yang berhasil cuma di single post aja. Yang di index.php malah berantakan jadinya. Tolong diliat bentar ya mas http://www.freemoviesupdate.info mungkin ada yg salah. Thanks mas

NewBoxOfficeMov 8 pts

@IrwanKarta, Mas thanks udah mau sharing ilmunya.

Lg coba mengganti gbr thumb di index dengan poster blm bisa2 karena ilmu saya yang masih sebesar upil jadi gak bisa.. :(

Mohon bantuannya mas. Saya pake template video element di newboxofficemovies dot info

CharlieNumber7 11 pts moderator

NewBoxOfficeMov Theme VideoElement bagus, saya juga pakai :)

Supaya gambar di halaman depan bisa ganti nampilkan poster, buka file index.php, lalu cari baris berikut:

< img src="< ?php echo p75GetThumbnail($post->ID, '180', '135', ''); ?>" alt="< ?php the_title_attribute(); ?>" />

Kemudian ganti dengan ini:

< img src="< ?php echo $poster; ?>" width="180" height="135" alt="< ?php the_title_attribute(); ?>" />

Jangan lupa pada kode diatas hilangkan spasi antara < dan img serta antara < dan ?php, sebab di komen ini gak bisa nulis kode program.

Semoga membantu :)

My latest conversation: Friends

NewBoxOfficeMov 8 pts

CharlieNumber7NewBoxOfficeMov thanks mas, tak cobain dulu ya

CharlieNumber7 11 pts moderator

NewBoxOfficeMov Silahkan. Jika dengan $poster gak tampil, coba dengan $movie_poster

My latest conversation: Friends

NewBoxOfficeMov 8 pts

CharlieNumber7 Mas Charlie,nanya lg ya. kalo pake api tomatoes apa content yg diambil dari api akan terindex sama om gooogle dan tampil di Search engine? Kan kita cuma posting judul saja. Bisa dicap agc gak ya sama gooogle n bakal kena banned gak? tq atas pencerahannya

CharlieNumber7 11 pts moderator

NewBoxOfficeMov data dari RottenTomatoes akan tampil sebagai konten di blog kita dan akan terindex dan tampil di search engine Google.

Memang kita cuma posting judul, tetapi script yang saya buat itu akan retrive data film dari RottenTomatoes. Tidak dicab sebagai AGC sebab API yang dikeluarkan oleh RT itu adalah legal. Tinggal bagaimana caranya kita mengolah data tersebut supaya menjadi konten yang bermanfaat untuk visitor.

My latest conversation: Friends

NewBoxOfficeMov 8 pts

CharlieNumber7 wow thanks for the info mas

kog gak bisa comment ya mas??

CharlieNumber7 11 pts moderator

@dermawan ini bisa komen masbro :)

My latest conversation: Friends

NewBoxOfficeMov 8 pts

CharlieNumber7@dermawan Masbro kalo mau tampilkan field lainnya seperti director, dll gimana? saya coba tambahin perintah :

$movie_director = $data->movies[0] ->abridged_directors->name;

lalu dengan perintah : Directed by < ? php echo $movie_director; ?>

Gak keluar hasilnya. salahnya dimana ya? Thanks

CharlieNumber7 11 pts moderator

NewBoxOfficeMov@dermawan Untuk data film seperti Director tidak disupport oleh API RittenTomatoes. Data yang lebih lengkap saya memakai IMDB dan script yang saya kembangkan sendiri.

My latest conversation: Friends

Thanks sebelumnya mas
saya berhasil menampilkan konten di halaman post (singel.php), cuma belum berhasil di halaman home (index). Dimana ya mas salahnya. Mohon dicek di http://walmartbabyregistry.info/

Thanks

|Aswein|

Kalo pakai themes TwentyTen atau TwentyEleven, itu pakai child themes karena pakai framework. Halaman index-nya biasanya di loop template, coba cek di file content-page.php.

|mastenk|

tenkyu mastenk, di heroturko itu kayaknya banyak temlplate bagus :D

tenkyu bang charlie, baru nyoba2 :grin: untuk resize dan crop image baru buat ini, kemaren buat yang lebih detil di http://movie-corner.websitescoder.com
:D

briliant..,
gw praktek dulu deh..., kalo berhasil ntar di pamerin .. :grin:

|mastenk|

Bisa lebih dijelaskan errornya seperti apa? Mudahnya, script di dipasang persis sebelum the_content()

Saya tidak share themes, untuk menghindari konten yang mirip. Pilih saja themes lain, nanti saya bantu arahkan pemasangan scriptnya.

:)

|ucil|

Mantap gan, rapi, clean, dan konten lebih unik dengan penataan yang variatif.

Untuk poster di homepage, mungkin tinggal atur width dan height supaya fit dengan layout.

Jika tidak suka dengan gambar yang strecth, mungkin bisa pake bantuan script tumthumb:

http://www.binarymoon.co.uk/projects/timthumb/

Untuk auto resize atau autocrop gambar.

Welldone

:D

wah boss ucil bagus banget hasil oprekanya..ajarin buatnya ?mau dong templatenya? :-)

wahwah... hebat, ak dah coba mas buat, nice article pokoknya :D

hasilnya masih amburadul seh,
hassilnya http://websitescoder.com/moviebizz

halo mas charlie, senang dengan tulisan anda,salam kenal..saya udah bisa aplikasi di themes standar, tapi begitu masuk ke theme dione seperti muvixx.com, kok selalu error ya mas, gak begitu mudeng bahasa php, kalo berkenan boleh dong dishare template dione seperti muvixx yg udah dioprex, thanks

|hendra|

Waduh saya belum pernah pake blogspot, belum perlajari juga struktur engine blogger mas

:sad:

Mungkin di penempatan saja itu yah, stylesheet nya kali.

Btw nice work

:smile:

mas charlie, saya coba2 bikin seperti ini di blogger, ya karena tidak mendukung php saya buat pake javascript, bisa diliat hasilnya mas di blog dummy saya,

http://dummymovie.blogspot.com

tapi karena saya masih nubie, hasil tampilannya malah diluar form postnya :lol: hahaha,,,
mohon petunjuknya mas charlie, mungkin ada yang salah atau ini memang gak bisa dibuat seperti ini di blogger,,.?

makasih mas

terima kasih update an nya, dah ditunggu lama... :D
sekarang wktunya praktek... :D

|Haki|
Monggo masbro..

:)

|Blog Bagus|
Tampaknya hosting atau server anda tidak memperbolehkan akses data dari eksternal URL.

Jika anda pakai VPS atau Dedicated, bisa di-enable kan dengan mengedit php.ini dan mengganti Off dengan On pada allow_url_fopen jadi seperti ini:

allow_url_fopen = On

Jika anda memakai shared hosting, anda harus meminta hosting anda untuk meng-enable kan.

Untuk ngakalin ini bisa juga merubah script saya dari fungsi file_get_contents() dengan cURL. Nanti akan saya buat versi alternatif ini.

Maaf mas mau nanya, kok wktu aku posting keluarnya kok ga bekerja ya , salah dimananya kira2 mas? thanks...
tolong di check mas :
http://movie.kubagus.com/the-smurfs-2011/

MANTAP Mas Ir... Dicoba dulu, nek ga isa, siap2 aq telp ya... wkokokoko

|idoz|
YM saya ada di icon status YM di sidebar

:smile:

mantep boss. sy tunggu tutornya, akhirnya keluar juga. hehe

boleh minta YM nya ?

|yamin|

Makasih sudah mampir, semoga bermanfaat

:grin:

pertama kali kenal cpa, nemu blog ini...sungguh inspiratif...tutorialnya keren...coba ah..:-)

tah geuning kaluarrr...hatur nuhun kang :D..bedanya ama IMDB WordPress Movie Plugin itu apa kang??...seo-nya?

|holand|
IMDB WP Movie Plugin berupa post, jadi isinya bisa sama persis dg pemakai lain. Kalo ini kita bisa naruh info sekehendak hati. Misal sinopsis diatas, poster dibawah, dll, diatur sesuai themes.
IMDB WP Movie Plugin tidak ada video trailer, dan tidak ada gambar potongan adegan.
Yang jelas konten lebih unik, dan lebih enak ngolah SEO nya.

|Mey Odonk|
Semoga bermanfaat

:smile:

|mas kadi|
Mobile terus gan, kirim off message aja nanti pas OL biar direply, atau janjian OL

:smile:

wehe akhirnya keluar juga bocoranya , mantab deh gan betewe kok jarang kliatan online gan?

ini dia yg ditunggu² oms :razz: