Membuat Keyword Generator dengan Python untuk Judul Artikel Blog

Cara kerjanya sebenarnya cukup mudah, program ini akan merequest ke google autocomplete berdasarkan sebuah kata kunci, namun prosesnya dilakukan secara rekrusif sehingga kita mendapat kata yang cukup panjang untuk dijadikan artikel blog. Hasil kemudian disimpan sebagai file text dan diprint ke console. Oke, langsung saja, Pertama buat file baru, berinama ‘generator.py’. Kemudian mulai menulis scriptnya. Dimulai dari import module yang dibutuhkan. Karena program ini mengambil data online dari google, dan data dari google berbentuk JSON, maka kita perlu meng import urllib2 dan json.

import json
import urllib2
Kemudian buat class baru dibawahnya, beri nama ‘Gen’. berikan juga keterangan tentang class ini agar lebih dimengerti.
class Gen:
	"""Class ini akan menghasilkan keyword yang SEO berdasarkan input yang  dimasukan"""
Didalam class, kita akan membutuhkan variabel untuk menyimpan data keyword dan handler file kita. kita namakan arr untuk list keyword dan f untuk handler file. Karena belum terisi, kita buat kosong dulu isinya. File akan menjadi seperti dibawah ini,
import json
import urllib2
class Gen:
	"""Class ini akan menghasilkan keyword yang SEO berdasarkan input yang  dimasukan"""
	arr=[]
	f=None
kemudian kita buat beberapa method yang  diperlukan. get_list untuk mengambil data dari google, generate untuk memproses data, start untuk memulai proses, dan reset untuk mengatur ulang data. Kira-kira seperti dibawah ini,
def get_list(self,key):
	if key in self.arr:
		return []
	try:
		url="http://suggestqueries.google.com/complete/search?client=firefox&q="+key.replace(' ','+')
		response = urllib2.urlopen(url)
		txt = response.read()
		data=json.loads(txt)[1]
	except:
		data=[]
	if key in data:
		data.remove(key)
	return data
Method diatas akan mengecek apakah key sudah pernah dicari, jika sudah akan mengembalikan list kosong, jika belum akan mencari key untuk mendapatkan autocomplete. data yang didapat apabila ada key didalamnya akan dihapus untuk menghindari infinite loop.
def generate(self,i):
	if i in self.arr:
		return None
	data=self.get_list(i)
	self.arr.append(i)
	for x in data:
		self.generate(x)
	try:
		self.f.write(i+'\n')
		print(i)
	except:
		print('error')
Method generate akan memproses data dari input, data dicari dengan method get_list. kemudian disimpan ke file text dan di print ke console.
def start(self):
	a=raw_input("Masukan keyword...\n")
	self.f=open('/home/totop275/Dokumen/'+a+'.txt','a+')
	self.generate(a)
	self.f.close()
Method start akan meminta user input dan membuka file, serta memanggil generate untuk memproses user input yang didapatkan.
def reset(self):
	del self.arr[:]
reset akan mengatur ulang data list keyword. Sehingga, jika digabung akan menjadi seperti dibawwah ini.
import json
import urllib2
class Gen:
	"""Class ini akan menghasilkan keyword yang SEO berdasarkan input yang  dimasukan"""
	arr=[]
	f=None
	def get_list(self,key):
		if key in self.arr:
			return []
		try:
			url="http://suggestqueries.google.com/complete/search?client=firefox&q="+key.replace(' ','+')
			response = urllib2.urlopen(url)
			txt = response.read()
			data=json.loads(txt)[1]
		except:
			data=[]
		if key in data:
			data.remove(key)
		return data
	def generate(self,i):
		if i in self.arr:
			return None
		data=self.get_list(i)
		self.arr.append(i)
		for x in data:
			self.generate(x)
		try:
			self.f.write(i+'\n')
			print(i)
		except:
			print('error')
	def start(self):
		a=raw_input("Masukan keyword...\n")
		self.f=open('/home/totop275/Dokumen/'+a+'.txt','a+')
		self.generate(a)
		self.f.close()
	def reset(self):
		del self.arr[:]
Untuk cara menggunakannya, tinggal import file generator.py, kemudian buat instance dari Gen, dan panggil start. Kemudian setelah muncul tulisan ‘Masukan keyword…’ masukan keyword kamu. kemudian tekan enter. Semoga bermanfaat,]]>

About: totop275


Leave a Reply

Your email address will not be published. Required fields are marked *