Scrapping Google Trends Keyword Dengan PHP - GarudaCoders.Id

Sunday, February 3, 2019

Scrapping Google Trends Keyword Dengan PHP


Apa sih itu google trends ?

Mungkin agan sudah gaasing lagi dong dengan kata google trends ?

Ya Google trends adalah grafik statistik dari kata yang paling banyak dicari di google pada hari ini , entah itu tentang politik , hal hal yang viral , dan sebagai macam nya di kota atau negara tertentu sesuai dengan lokasi agan saat ini

Nah di postingan ini kita akan men scrapping keyword yang sedang trending di google saat ini

Scrapping sendiri artinya mengambil data tertentu yang semi terstruktur dari halaman website yang berbentuk XML/XHTML

Oke kita mulai langkah langkah nya untuk mengambil data keyword dari google trends 

Langkah pertama kita siapkan dulu halaman xml dari google trends sendiri

Halaman xml google trends yaitu
https://trends.google.com/trends/hottrends/atom/feed?pn=19

pn=19  Nomor 19 adalah negara indonesia
List nomor negara bisa agan cek sendiri di website resmi google trends

Coba kita buka halaman nya dulu



wah banyak sekali kan data data keyword di halaman ini
Oke selanjutnya kita buat sebuah curl pada PHP

kodenya seperti ini



function trends($url) {

    $ch=curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_REFERER,"https://www.google.com");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);

    curl_setopt($ch, CURLOPT_USERAGENT,$_SERVER ['HTTP_USER_AGENT']);

    $result=curl_exec($ch);

    return $result;

}

Lalu kita decode kan halaman tadi dengan fungsi SimpleXmlElement pada PHP

$url=trends('https://trends.google.com/trends/hottrends/atom/feed?pn=p19');

$trends=new SimpleXmlElement($url);

$data=$trends->channel->item;

for($j=0; $j

    if($data[$j]->title) {

        echo ucwords(strtolower($data[$j]->title)) ."
";

    }

}

for($i=0; $i

    $des=explode(',', $data[$i]->description);

    for($k=0; $k

        if($des[$k]) {

            echo ucwords(strtolower($des[$k])) . "
";

        }

    }

}


Kode jadinya akan seperti ini


  function trends($url) {

    $ch=curl_init();

    curl_setopt($ch, CURLOPT_URL, $url);

    curl_setopt($ch, CURLOPT_REFERER,"https://www.google.com");

    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);

    curl_setopt($ch, CURLOPT_USERAGENT,$_SERVER ['HTTP_USER_AGENT']);

    $result=curl_exec($ch);

    return $result;

}

$url=trends('https://trends.google.com/trends/hottrends/atom/feed?pn=p19');

$trends=new SimpleXmlElement($url);

$data=$trends->channel->item;

for($j=0; $j

    if($data[$j]->title) {

        echo ucwords(strtolower($data[$j]->title)) ."
";

    }

}

for($i=0; $i

    $des=explode(',', $data[$i]->description);

    for($k=0; $k

        if($des[$k]) {

            echo ucwords(strtolower($des[$k])) . "
";

        }

    }

} 

Maka resultnya akan seperti ini





Gimana ? keren kan ?

Oke di postingan ini cukup segini saja ya
Kalau kurang mengerti atau kurang faham atau juga terjadi erorr saat menjalankan scriptnya

Agan bisa tanyakam langsung di kolom komentar saya akan menjawab secepatnya

Comments


EmoticonEmoticon