Menganalisis Tren Pencarian Menggunakan Python

Menganalisis tren pencarian merupakan salah satu cara untuk menemukan topik yang sedang hangat dibicarakan di wilayah atau rentang waktu tertentu.

Jika Anda ingin mendapatkan data tren pencarian secara otomatis atau melakukan pengolahan data lebih lanjut, Anda bisa mencoba menggunakan Pytrends.

Pytrends merupakan unofficial API untuk Google Trends yang bisa Anda gunakan untuk mendapatkan berbagai jenis laporan tren pencarian berdasarkan waktu, wilayah, kategori, dll.

Di bawah ini, Anda bisa mempelajari cara menganalisis tren pencarian Google Trends menggunakan Python dan Pytrends.

Persiapan

Sebelum mulai menggunakan Pytrends, pastikan Anda sudah memasang Python 3 dan Text Editor di OS yang Anda gunakan.

Sebagai gambaran, peralatan yang saya gunakan dalam tutorial ini adalah sebagai berikut:

  • OS Ubuntu 20.04 LTS
  • Python3 + Python3-pip
  • Visual Studio Code + Python Extension

Install Paket Pendukung

Setelah python terinstall, Anda perlu menginstall terlebih dahulu paket-paket pendukung yang akan digunakan, yaitu Pytrends dan Pandas.

Untuk menginstall paket tersebut, Anda hanya perlu menjalankan perintah berikut ini:

Install Pytrends

pip install pytrends

Install Pandas

pip install pandas

API Methods

Pytrend memiliki berbagai methods yang bisa Anda gunakan. Namun, saya hanya akan mencontohkan 5 method yang cukup membantu dalam menganalisis tren untuk keperluan SEO.

Method-method tersebut antara lain adalah:

  • interest_over_time
  • interest_by_region
  • related_queries
  • suggestions
  • trending_searches

Berikut adalah penjelasan untuk masing-masing method:

1. Interest Over Time

Interest over time akan menampilkan laporan tren pencarian berdasarkan keyword yang ditentukan dalam rentang waktu tertentu.

Pada contoh di bawah ini, saya ingin mendapatkan informasi tren untuk keyword python, javascript, php, dan java dalam 1 bulan terakhir.

Source Code:

import pandas as pd                        
from pytrends.request import TrendReq

pytrends = TrendReq()
kw_list  = ["python", "javascript", "php", "java"]
pytrends.build_payload(kw_list, timeframe='today 1-m')

ot   = pytrends.interest_over_time()
df   = pd.DataFrame(ot)
data = df.drop(columns = 'isPartial')

print(data)

Simpan source code tersebut sebagai file berekstensi .py.

Jika Anda menggunakan VS Code dan Python Extension, maka Anda hanya perlu klik kanan kemudian pilih Run Python File in Terminal untuk mendapatkan datanya.

Output:

output interest over time dari pytrends

Output yang ditampilkan dari method ini antara lain adalah tanggal sesuai rentang waktu yang ditentukan, serta nilai tren dari masing-masing keyword (0 - 100).

Semakin tinggi nilainya, artinya semakin banyak orang yang mencari keyword tersebut di Google.

Apakah data yang didapatkan sesuai dengan Google Trends?

Sebagai perbandingan, berikut adalah data interest over time jika dibuka melalui website Google Trends.

hasil interest over time dari google trend

Ya mleset-mleset dikit lah ya, tapi kurang lebih sudah bisa menggambarkan tren pada keyword yang ditentukan.

Dengan data di atas, saya jadi tahu bagaimana potensi keyword ini untuk mendatangkan traffic. Semakin stabil nilainya, maka semakin stabil pula potensi trafficnya.

2. Interest by Region

Selain berdasarkan rentang waktu, Pytrends juga menyediakan API untuk melihat tren berdasarkan wilayahnya.

Pada contoh di bawah ini, saya ingin mengetahui data persebaran wilayah untuk keyword “cat” atau kucing.

Source Code:

import pandas as pd               
from pytrends.request import TrendReq

pytrends = TrendReq()
kw_list  = ["cat"]
pytrends.build_payload(kw_list)

reg  = pytrends.interest_by_region()
df   = pd.DataFrame(reg).sort_values(by='cat', ascending=False)
data = df.head(10)

print(data)

Source Code di atas akan menampilkan 10 negara yang memiliki tren paling tinggi untuk keyword “cat”.

Output:

output interest by region dari pytrends

Perbandingan Hasil dari Web:

hasil interest by region dari google trend

Masih ada sedikit perbedaan di urutan. But, it’s okay.

Dengan data ini, saya jadi bisa menyimpulkan kira-kira jika saya punya keyword “cat” yang berada di halaman 1, maka potensi trafficnya sebagian besar akan di dominasi oleh negara yang ditampilkan pada output di atas.

Related Queries akan menampilkan data keyword yang terkait dengan keyword yang ditentukan. Atau biasanya juga bisa disebut sebagai Keyword Turunan.

Untuk method ini, akan didapatkan 2 kategori keyword yaitu Top Keyword dan Rising Keyword.

  • Top: Keyword paling populer yang memiliki rentang nilai 0 - 100
  • Rising: Keyword yang sedang naik daun, ditandai dengan persentase kenaikannya

Pada contoh di bawah ini, saya ingin mengetahui tentang data tren keyword yang terkait dengan keyword “cat” dalam 1 bulan terakhir.

Source Code:

from pytrends.request import TrendReq
pytrends = TrendReq()

kw_list  = ["cat"]
pytrends.build_payload(kw_list, timeframe='today 1-m')

rq     = pytrends.related_queries()
top    = rq.get('cat').get('top').head()
rising = rq.get('cat').get('rising').head()

print("Top:\n", top, "\nRising:\n", rising)

Output:

output related queries dari pytrends

Perbandingan Hasil dari Web:

hasil top related queries dari google trend

hasil rising related queries dari google trend

Trending Searches merupakan method yang dapat digunakan untuk menampilkan tren pencarian terpopuler di negara tertentu.

Pada contoh di bawah ini, saya ingin mengetahui keyword atau topik apa yang sedang trending di Indonesia.

Source Code:

import pandas as pd
from pytrends.request import TrendReq

pytrends = TrendReq()
tr       = pytrends.trending_searches(pn='indonesia')
df       = pd.DataFrame(tr)
data     = df.head(3)

print(data) 

Output:

output trending searches dari pytrends

Perbandingan Hasil dari Web:

hasil trending searches dari google trend

5. Suggestions

Suggestions merupakan method yang dapat menampilkan saran keyword berdasarkan topik atau keyword yang ditentukan.

Mirip dengan Related Queries, tapi lebih sederhana.

Misalnya, saya ingin mendapatkan saran mengenai keyword yang berhubungan dengan Linux, maka source code yang digunakan adalah sebagai berikut.

Source Code:

import pandas as pd
from pytrends.request import TrendReq

pytrends = TrendReq()
keyword  = "Linux"
sg       = pytrends.suggestions(keyword)
df       = pd.DataFrame(sg)
data     = df.drop(columns = 'mid') 

print(data)

Output:

output suggestions dari pytrends

Perbandingan Hasil dari Web:

hasil suggestions dari google trend

Export Data Tren Pencarian

Source code di atas hanya akan menampilkan data dalam bentuk teks di terminal atau console.

Jika Anda ingin mendapatkan data dalam bentuk Sheet, maka Anda perlu menambahkan method .to_csv() pada source code yang dijalankan.

Misalnya, jika saya ingin mendapatkan data interest over time dalam bentuk CSV, maka saya perlu mengubah sedikit source codenya menjadi seperti berikut:

import pandas as pd                        
from pytrends.request import TrendReq

pytrends = TrendReq()
kw_list  = ["python", "javascript", "php", "java"]
pytrends.build_payload(kw_list, timeframe='today 1-m')

ot   = pytrends.interest_over_time()
df   = pd.DataFrame(ot)
data = df.drop(columns = 'isPartial')

data.to_csv('interest.csv')

Jalankan code dan Anda akan mendapatkan file interest.csv di direktori yang sama dengan source code tersebut.

output csv dari analisis tren pencarian menggunakan python

Apa Selanjutnya?

Source code yang ada di atas hanyalah beberapa contoh penggunaan dasarnya saja.

Jika Anda ingin menggunakan Pytrend untuk proses otomasi dan visualisasi data, maka Anda bisa mengembangkannya lebih lanjut.

Anda juga bisa mengkombinasikan tools tersebut dengan Matplotlib dan sebagainya.

Meskipun masih ada beberapa data yang tidak sinkron dengan Web Google Trends, tapi data-data yang dihasilkan kurang lebih sudah cukup untuk menganalisis tren pencarian, terutama untuk keperluan SEO.

Selamat mencoba.

Source: https://pypi.org/project/pytrends/