Python ile Google “People also ask” Sonuçlarının Çekilmesi

0 Shares
0
0
0

İçerik pazarlama stratejisinde kullanıcı verilerinden yararlanılarak alışkanlıkların belirlenmesi
ve kullanıcıyı odağa alarak içerik yazmanın önemi günümüz internet dünyasında su götürmez
bir gerçek olarak karşımıza çıkmaktadır. Hal böyleyken; bir takım üçüncü parti keyword
araştıma araçları kullanarak kullanıcı sorgularını çekmek ve bu sorgulardan yararlanarak
içerik pazarlama stratejimize yön vermeye çalışıyoruz. Bu anlamda, ayrı bir yardımcı araç
olmasa da Google da bize bazı desteklerde bulunmaktan çekinmiyor. Bunun en güzel örneği
Google’ın “People also ask (Kullanıcılar bunları da sordu)” sonuçları, bize oldukça yararlı
öngörüler sağlayabilecek, içerik planımızda kullanabileceğimiz veriler olarak karşımıza
çıkmaktadır.

People also ask (Kullanıcılar bunları da sordu) Sonuçları Nedir?

People Also Ask sonuçları; Google’da bir sorgu yaptığınızda yaptığınız sorguyla ilişkili, kullanıcıların başka hangi sorguları yaptığını bir kutu içerisinde ve listelenmiş halde gösteren zengin sonuçlar (Rich Snippets) olarak ifade edebiliriz. Bu sonuçlar genelde sayfanın alt kısımlarında yer alır ve siz bir sonuca tıkladığınızda tıklamış olduğunuz sonuçla ilişkili başka sonuçların da listeye dinamik bir şekilde eklendiğini görürsünüz.

Görüldüğü üzere PAA sonuçlarına tıklama ile yeni sonuçlar ekleniyor ve bu şekilde uzun bir listeye dönüşerek kullanıcı tarafından sorulan ilginç sorulara ulaşmamızı mümkün kılıyor. Buradan elde edeceğimiz başlıkları içerik pazarlama stratejimizde kullanmak sizce de güzel olmaz mıydı? Hatta bu sonuçların çekilmesi işi bizim yerimize bir program tarafından yapılsa daha da güzel olmaz mıydı? Bu noktada bize Alessio Nittoli tarafından Python alt yapısı ile geliştirilmiş gquestions.py mini programı yardımcı olacak.

Gquesitons.py nasıl yüklenir ve nasıl çalışır?

Öncelikle gquestions.py Python alt yapılı bir program olduğundan bilgisayarımızda Python 3.7 veya daha üstü bir versiyonun kurulu olması gerekmektedir.

Python’un son versiyonunu bu linkten indirebilirsiniz.

Python’u indirip kurduktan sonra Pip paket yöneticisinin kurulu olup olmadığını kontrol etmelisiniz. (En son sürümde olmalıdır.)

Kontrol için komut satıına;

pip --version 

yazın eğer herhangi bir hata almıyorsanız yükleme için hazırız demektir. Eğer hata alıyorsanız pip yüklemek için bu linkten yardım alabilirsiniz.

Gquestions.py dosyalarının bilgisayara yüklenmesi

Programı çalıştırabilmek için öncelikle gerekli dosyaları Alessio Nittoli’nin github profilinden bilgisayarımıza indiriyoruz. İndirme bağlantısına bu linkten ulaşabilirsiniz.

Bilgisayarımızda klasör yapımız şu şekilde olmalı;

Şimdi programımızın çalışması için bağlı kütüphaneleri ve gereklilikleri indirmemiz gerekiyor. Bunun için komut satırında proje dizinimize geldikten sonra

pip install -r requirements.txt 

komutunu yazıyoruz.

Selenium’un Yüklenmesi

Selenium bir browser otomasyon aracı olup öncelikli olarak web uygulamalarını ve sayfalarını test etmek amacıyla kullanılır. Biz bu uygulamada Selenium’u arama motoruna (Google) otomatik sorgu yazmak ve PAA sonuçlarını çekmek için kullanacağız. Selenium tarayıcıyı bir sürücü üzerinden kontrol eder biz burada Chromedriver’ı kullanacağız.

Öncelikle doğru sürücü sürümüne ihtiyacımız var. Doğru sürümü bulmak için buradan chrome://settings/help  tarayıcı versiyonumuzu kontrol edelim.

Buradan da http://chromedriver.chromium.org/downloads doğru sürücü sürümünü indirip proje klasörümüzdeki /driver klasörümüze çıkaralım.

D3.js – Data Driven Documents

D3.js data görselleştirmek için kullanılan oldukça güçlü bir Javascript kütüphanesidir. Bu linkten d3.js’in web sayfasını ziyaret edebilir, farklı türde data görselleştirme kodlarını kullanabilirsiniz.

Biz elde ettiğimiz bilgileri görselleştirmek için ağaç diyagramını kullanacağız. Bu diyagrama ait ana kodlara aşağıdaki linkten ulaşabilirsiniz.

http://bl.ocks.org/d3noob/8375092

Programı Türkçe için Kullanılabilir Yapmak

Gquestions.py Alessio Nittoli tarafından ilk olarak sadece İngilizce ve İspanyolca dillerinde çalışması için geliştirilmiş. Bu yüzden halizhazırda bu haliyle bu dillerde kullanabilirsiniz. Ben programa bir kaç kod ekleyerek Türkçe’de de çalışabilir hale getirdim. Eğer siz de Türkçe sorguları çekmek istiyorsanız aşağıdaki adımları izleyebilirsiniz.

  • Programın kaynak kodlarına ulaşmak için öncelikle programımızın bulunduğu klasördeki gquesitons.py dosyasını bir text editor yardımıyla açmamız gerekiyor. Ben bunun için Sublime Text 3 kullanıyorum. Sublime Text 3 indirmek için bu sayfayı ziyaret edebilirsiniz.
  • Kaynak kodu açtıktan sonra aşağıdaki alanı buluyoruz.
def newSearch(browser,query):
    if lang== "en":
        browser.get("https://www.google.com?hl=en")
        searchbox = browser.find_element_by_xpath("//input[@aria-label='Search']")
    else:
        browser.get("https://www.google.com?hl=es")
        searchbox = browser.find_element_by_xpath("//input[@aria-label='Buscar']")

if ve else komutları arasına aşağıdaki kodu yazıyoruz.

elif lang=="tr":
        browser.get("https://www.google.com.tr")
        searchbox = browser.find_element_by_xpath("//input[@aria-label='Ara']")

sonrasında aşağıdaki alanı bulup;

sleepBar(2)
    tabNTimes()
    if lang== "en":
        searchbtn = browser.find_elements_by_xpath("//input[@aria-label='Google Search']")
    else:
        searchbtn = browser.find_elements_by_xpath("//input[@aria-label='Buscar con Google']")
    try:
        searchbtn[-1].click()
    except:
        searchbtn[0].click()

if ve else komutları arasına aşağıdaki kodu yazıyoruz.

elif lang=="tr":
        searchbtn = browser.find_elements_by_xpath("//input[@aria-label=\"Google'da Ara\"]")

daha sonra aşağıdaki alanda, if ve else komutları arasına

def scrollToFeedback():
    if lang == "en":
        el = browser.find_element_by_xpath("//div[@class='kno-ftr']//div/following-sibling::a[text()='Feedback']")
    else:
        el = browser.find_element_by_xpath("//div[@class='kno-ftr']//div/following-sibling::a[text()='Enviar comentarios']")

aşağıdaki kodu yazıyoruz

elif lang == "tr":
        el = browser.find_element_by_xpath("//div[@class='kno-ftr']//div/following-sibling::a[text()='Geri bildirim']")

son olarak aşağıdaki kırmızı alanda, if ve elif kodları arasına

elif args['tr']:
      lang = "tr"

kodunu yazıyoruz ve dosyamızı bu haliyle kaydediyoruz.

Programı Çalıştırma ve Sorguları Çekme

Öncelikle belirtmemiz gerekir ki; People also ask sonuçları yaptığımız her sorguda -özellikle Türkçe sorgular için- görüntülenmeyebilir. Bu sonuçlar daha çok kullanıcıya bilgi verme amaçlı soru cümleleri gibi sorgularda görüntüleniyor ve yapılan sorguların aranma hacmi ile doğru orantılı bir şekilde çıkma eğilimi gösteriyor. Bu yüzden bir hata almamak adına programı çalıştırmadan önce yapmak istediğiniz sorguyu Google’da manuel olarak denemenizi ve o sorguda PAA sonuçlarının çıkıp çıkmadığını kontrol etmenizi tavsiye ederim.

Programı çalıştırmak için öncelikle komut satırını açıyoruz ve proje dizinimize geliyoruz. Sonrasında aşağıdaki taslağa göre komutumuzu yazabiliriz.

python gquestions.py query <keyword> (en|es|tr) [depth <depth>] [--csv] [--headless] </depth></keyword>

Burada;

query: Google’da aranacak olan sorguyu niteliyor. Zorunlu bir komuttur.

en veya es veya tr: Bu da zorunlu bir komut olup sorguyu hangi dilde yapacağımızı belirliyoruz.

depth: Bu komutla, çektiğimiz PAA sonuçlarını hangi derinliğe kadar çekileceğini ayarlıyoruz. Varsayılan olarak 0’dır istersek maks. 1 olarak ayarlayabiliriz.

–csv: Çektiğimiz sorguları csv dosyası olarak kaydetmek için kullanıyoruz. İsteğe bağlı bir komuttur.

–headless: Programı Chrome’da göstermeden çalıştırmaya yarar, bu da isteğe bağlı bir komuttur.

Örnek bir kaç sorgu yapalım.

python gquestions.py query “python nedir” tr –csv

Sorgumuz sonucunda aşağıdaki gibi bir sonuç alıyoruz. Sorgumuzda –csv parametresini kullandığımız için aynı zamanda csv klasörümüz içinde csv dosyamız da mevcut.

Eğer sorgumuzu;

python gquestions.py query “python nedir” tr --depth 1 --csv 

şeklinde yapsaydık aşağıdaki görselde olduğu gibi bir sonuç alacaktık.

0 Shares
Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bunlar da ilginizi çekebilir

SKAG METODU

Bisikletle Adana-Mersin Arkamda kamp malzemelerim de varken, 136 KM bisiklet sürebileceğimi, 29 Temmuz 2014 günü sabahı kesinlikle hayal…

Responsive Search Ads

Yeni doğan güneşin kızıl ışıkları, gözünü kamaştırmaya başlamıştı genç adamın. Penceresinden son bir kez daha aydınlanan havanın kokusunu…