2011-06-21 32 views
57

Google, gerçek sitede olduğu gibi arama için otomatik tamamlamada API erişimi sağlıyor mu? Hiçbir şey bulamadım.Google Arama otomatik tamamlama API'sı mı?

Google'ın arama API'sine dayanan kendi sitemde Google'ın otomatik tamamlama mantığını kullanmak istiyorum.

+1

http://simplestepscode.com/autocomplete-data-tutorial/ bkz http://google.com/complete/search?q= burada anahtar kelimeler. Bu, xlune ve blinkdash'daki otomatik tamamlama işlevleri de çalışmayı durdurdu. Google bir şeyi değiştirdi ve birisi bunun ne olduğunu anlayana kadar, otomatik tamamlamalarına erişmeye çalışmak işe yaramıyor. –

cevap

0

Otomatik tamamlamayı ne için kullanmaya çalışıyorsunuz? Daha fazla bilgi daraltmaya yardımcı olur.

olarak bildiğim kadarıyla, google birini sağlamaz, ancak bunlar gibi varız jQuery UI's auto-complete.

DÜZENLEME:

onların özel arama API görünümünü kullanıyorsanız here for autocomplete.

+0

Google'ın API –

+0

tarafından sağlanan web arama işlevselliği ile birlikte otomatik tamamlama sağlamak istiyorum, Tamam, ancak tüm web'de arama yapıyorum. Web Arama API'sı ne olacak? –

+0

Tüm web için otomatik tamamlamalarını kullanma konusunda hiçbir şey bulamadık, üzgünüm. Google'ın yine de yapmanıza izin vermeyeceğine inanıyorum. – Collecter

0

Merhaba ben don' Bu cevabın artık sizin için uygun olup olmadığını bilemeyin, ancak google, aşağıdaki istekte bulunarak JSON verilerini döndürür (her ne kadar bu resmi bir API değildir, ancak birçok araç çubuğu bu API'yi kullanmaktadır, bu yüzden google'un bunu neden durdurabileceği konusunda hiçbir neden yoktur):

http://google.com/complete/search?q=<Your keywords here>&hl=en 
+1

Bunun ne olduğuna dair daha fazla bilgi verebilir misiniz? Denedim ve bir dosya indirmemi sağladı. Kendine bak. –

+0

Evet justin, bu dosya bir JSON yanıtıdır. Javascript kullanarak bunu kullanabilirsiniz .. linux kullanıyorsanız, bu dosyayı notepad veya vim kullanarak açarak ham sonucu görebilirsiniz. – Sid

+5

Çalışmıyor. :( – Dejell

61

yeni url geçerli:

http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY

istemci parçası gereklidir; Diğer müşterileri test etmedim.

[DÜZENLE]

Eğer geri arama kullanmak isterseniz:

http://suggestqueries.google.com/complete/search?client=chrome&q=YOURQUERY&callback=callback

@Quandary öğrendim üzere; Geri çağrı, istemci "firefox" ile çalışmaz.

[EDIT2]

bu API 10-08-2015 tarihinden itibaren çalışmayı durdurur user2067021 @ tarafından belirtildiği gibi

: Update on the Autocomplete API Yukarıda belirtilen yöntemlerin çoğu benim için çalışıyor

+1

Bunu kullanın: http://suggestqueries.google. istemci = firefox –

+0

kullanıyorsanız, geri arama yapamazsınız çünkü her ikisi de boş bir dosya benim için – Supuhstar

+0

@Supuhstar: her ikisi de işe yarıyor: Bir reklam engelleyiciniz aktif mi? – RickyA

7

, özellikle şu benim amaca hizmet .

http://suggestqueries.google.com/complete/search?client=firefox&q=YOURQUERY 

web programlama bir newbie olmak, "Geri arama" işlevsellik ve sorgu tarafından döndürülen dosyanın formatının çok farkında değilim. AJAX ve JSON'dan biraz haberdarım. Birisi, sorgu tarafından döndürülen dosya biçimi hakkında daha fazla bilgi verebilir. Teşekkürler.

+0

Artık çalışmıyor gibi görünüyor ... Bu içeriğe sahip bir belge alıyorum: ["YOURQUERY", []] - başka bir şey yok. –

+1

Aha! Tamam, bu yüzden çalışır. :) Sadece "YOURQUERY", Google'ın tamamlayamadığı bir şeydir. Haha. http://suggestqueries.google.com/complete/search?client=firefox&q=mary+had bazı uygun sonuçlar verir. –

9

Öncelikle google gidin "ani sonuçları göstermek asla, değişim Arama Ayarları Ayarlar (sağ alt köşe) tıklayın. Bu şekilde, yerine anlık sonuçlarının tam sayfa düzenli otomatik tamamlama alırsınız.

Ayarlarınız kaydedildikten sonra Google ana giriş sayfasına dönün, tarayıcınızın geliştirici araçlarını açın ve Ağ sekmesine gidin. Firefox'taysanız sayfayı yeniden yüklemeniz gerekebilir. Arama kutusu Yeni açtığınız Ağ penceresinde yeni bir satır görünmelidir, bu satır otomatik tamamlama verilerinin nereden geldiğini gösterir.Bu gibi görünmelidir:

https://www.google.com/complete/search?client=hp&hl=en&sugexp=msedr&gs_rn=62&gs_ri=hp&cp=1&gs_id=9c&q=a&xhr=t&callback=hello 

Sen q= diyor parçası sonra arama terimi hakkı göreceksiniz.

URL'nin sonuna &callback=myAmazingFunction ekleyin. BenimAmazingFunction öğesini, verileri işleyebilecek işlevinizi adlandırmak istediğiniz şeyle değiştirebilirsiniz.

"a" arama terimi için otomatik tamamlama verilerini göstermek için gereken kodun bir örneği. Verileri nasıl biliyorum Şimdi

<div id="output"></div> 

<script> 
/* this function shows the raw data */ 
function myAmazingFunction(data){ 
    document.getElementById('output').innerHTML = data; 
} 
</script> 

<script src="https://www.google.com/complete/search?client=hp&hl=en&sugexp=msedr&gs_rn=62&gs_ri=hp&cp=1&gs_id=9c&q=a&xhr=t&callback=hello&callback=myAmazingFunction"></script> 

, bir sonraki adım otomatik olarak bu son komut dizisi (otomatik tamamlama url ile bir) değiştirmektir. Temel prosedür şu şekildedir: kullanıcı arama kutusuna bir şey yazdığında (onaltılmış), url'deki arama terimini (q = neyse) değiştirin ve daha sonra bu url ile bir komut dosyasını gövdeye ekleyin. Önceki komut dosyasını kaldırın, böylece vücut dağınık olmaz. Daha fazla bilgi için

, Bazen dün ve bugün arasında

+0

Benim için çalışıyor, teşekkürler! –

İlgili konular