Tutarlı Google için Kendimi Şanslı Hissediyorum


12

Bir arama teriminin ilk Google sonucuna hızla gitmek için Autohotkey ile küçük bir senaryo hazırlıyorum. Benim sorunum, URL biraz tutarsız davranıyor olsa da bunu yapmak için bulduğum tek yöntemdir.

http://www.google.com/search?q=searchterm&btnI=745

Bu sadece ilk vuruş çok iyi bir maç olarak kabul edildiğinde işe yarar. Aksi takdirde Google normal 10 sonucu gösterir. Ancak, ön sayfalarındaki gerçek "Kendimi Şanslı Hissediyorum" düğmesi her zaman ilk sonuca götürür.

Şu bağlantıları deneyin:

http://www.google.com/search?q=new%20york&btnI=745          <- works
http://www.google.com/search?q=new%20york%20dijon&btnI=745  <- doesn't work

Ön sayfada "new york dijon" ve sonra "Kendimi Şanslı Hissediyorum" isabet olsa çalışır.

URL formunda tutarlı bir şekilde çalışmasını nasıl sağlayabilirim?

Düzenleme: Tamam, bu tek bir URL'de yapılamayabilir gibi görünüyor. Bir greasemonkey-script geçici çözümü yayınlandıysa doğru olarak işaretlerim.


Bunlar başarısız: google.com/search?q=new%20york%20dijon&btnI=Im+Feeling+Lucky, google.com/search?btnI=1&q=new%20york%20dijon,google.com/search?btnI=I%27m+Feeling+Lucky&ie=UTF-8&oe=UTF-8&q=new%20york%20dijon
Ivan Chau

Güvenli arama işlevselliğinin özelliği engellediğini düşünüyorum.
Ivan Chau

Noscript etkinken HTML formunun Firefox'ta nasıl kurulduğunu görmeye çalışacağım.
Sadece Jake

Bu makale de ilginizi çekebilir. Buna göre, 2 anahtar kelimeler ile çalışır, ancak 3. Ve o zaman bile her nasılsa, her zaman değil; (Sanırım btnI2 anahtar kelimelere kadar olan eserler VE eğer Google karar vermez bir şey yanlış (gibi yazmış olabilir Did you mean: geeks alive) Aksi takdirde biraz. of javascript sizi yönlendirmek için kullanılır
Rik

@JustJake, şanslı düğme standart dışı bir özellik içerir: jsaction="sf.lck".
Ocak'ta Synetech

Yanıtlar:


2

Geçici çözüm Greasemonkey betiği oluşturuldu:

// ==UserScript==
// @name         Google IFL
// @match        https://*.google.com/*?lucky=*
// @match        http://*.google.com/*?lucky=*
// ==/UserScript==

document.getElementById("gsr").style.display = 'none'; // optional. shows blank screen before forwarding. just looks better imo.
document.getElementById("gbqfq").focus();
var pathname = document.URL;
var start = pathname.indexOf("?lucky=");
var searchterm = pathname.substring(start+7);
document.getElementById("gbqfq").value = decodeURI(searchterm);
var btnLucky = document.getElementsByName('btnI')[0];
btnLucky.click();

Bu komut dosyası, gitmeniz koşuluyla sizi her zaman Google'ın "Kendimi Şanslı Hissediyorum" seçeneğine yönlendirir www.google.com/?lucky=searchterm_goes_here.

Ben bir yer imine bir anahtar kelime alarak FireFox içinde kullanıyorum www.google.com/?lucky=%s.


1

Javascript'i devre dışı bıraktığınızda, Google'ın gerçekten Google ana sayfasından gelip "Kendimi Şanslı Hissediyorum" düğmesini tıklayıp tıklamadığınızı izlemek Referreriçin ayarlanmış bir çerez ve HTTP üstbilgisi kullanıyor gibi görünüyor https://www.google.com. Google'ı size şanslı sonucu bir URL ile vermeye ikna edebileceğinizi sanmıyorum.


1

Geldiğim en iyi çözüm: Chrome> Tercihler> Arama Motorlarını Yönetin ... ekle:

  • Arama Motoru: Kendimi Şanslı Hissediyorum
  • Anahtar kelime: \ (tercih ettiğiniz kısayolla değiştirin)
  • URL: {google: baseURL} araması? Q =% s & btnI

Ardından bu konuya göre , sayfayı Google'a yönlendiren olarak yeniden yüklemek için aşağıdaki Greasemonkey / Tampermonkey komut dosyasını ekleyin.

// ==UserScript==
// @name         I'm feeling lucky fix
// @version      0.0
// @description  Makes Google I'm feeling lucky work reliably from the address bar
// @author       Will Rice
// @match        http://*.google.co.uk/search?q=*&btnI
// @match        https://*.google.co.uk/search?q=*&btnI
// @match        http://*.google.com/search?q=*&btnI
// @match        https://*.google.com/search?q=*&btnI
// ==/UserScript==

document.getElementsByTagName("body")[0].style.display = "none";
window.location.href = location;

Komut dosyasını "vücutta çalışacak şekilde" ayarlama ve uygun gördüğünüz ek Google TLD'leri ekleme (Tampermonkey'de normal ifadeyi çalıştıramadım).


Bu, basit sorgular için geçerlidir, ancak maalesef daha karmaşık sorgular için değildir. En üstteki sonucu tıklamak için javascript kullanan bir komut dosyası daha iyi olur.
Kevin

0

Bu sayfadaki aksi takdirde zarif çözümlerin bazıları artık çalışmıyor, bu yüzden 2018'in Aralık ayında tampermonkey krom üzerinde çalışan çözümümü buraya ekliyorum.

@clude vs @include, Google'ın URL'lerini değiştirmesi durumunda bununla ilgili hata ayıklamada biraz hata ayıklamasına neden olan tampermonkey (match, sorgu terimlerini içeremez) için değişti.

// ==UserScript==
// @name         I'm feeling lucky fix
// @version      0.1
// @description  Makes Google I'm feeling lucky work reliably from the address bar
// @author       Kevin Watt
// @include      https://www.google.*/*btnI*
// ==/UserScript==
// // @match      https://*/*
if (location.href.indexOf('btnI')) document.querySelector('#search a').click()
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.