Sabtu, 10 Oktober 2015

Movie Site (Part 1)Membuat Autoblog Movie dengan JSON API Request

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

<?php

// Script AutoContent Movie Site
// By Charlie NumberSeven a.k.a C#7 http://blogbizz.cn


$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_id = $data->movies[0]->id;

$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;

$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];

?>

<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>


<?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';
?>
<b>Movie Trailer:</b><br>
<iframe width="560" height="349" src="http://www.youtube.com/embed/<?php echo $video_kode; ?>" frameborder="0" allowfullscreen></iframe>
<br><br><b>Pictures from Movie:</b><br>
<img src="<? echo $gbr1; ?>"> <img src="<? echo $gbr2; ?>"> <img src="<? echo $gbr3; ?>">

Gunakan kreatifitas anda sehingga data tadi dapat menampilkan konten yang unik dan menarik di 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.

UPDATE :

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. 

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(); ?>" />


 Bagaimana Jika data film tidak tampil di blognya, bahkan menampilkan error?

Suka Dengan Artikel Ini ?

0 komentar " Movie Site (Part 1)Membuat Autoblog Movie dengan JSON API Request ", Baca atau Masukkan Komentar

Posting Komentar

 
 
Copyright © 2013. rcstylefiles - All Rights Reserved