Nhất quán tôi đang cảm thấy may mắn cho Google


12

Tôi đang tạo một tập lệnh nhỏ với Autohotkey để nhanh chóng đi đến kết quả đầu tiên của Google về cụm từ tìm kiếm. Vấn đề của tôi là, phương pháp duy nhất tôi tìm thấy để làm điều này mặc dù URL hoạt động hơi không nhất quán.

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

Điều này chỉ hoạt động khi cú đánh đầu tiên được coi là một trận đấu rất tốt. Nếu không, Google hiển thị 10 kết quả bình thường. Tuy nhiên, nút "Tôi cảm thấy may mắn" thực sự trên trang nhất của họ luôn đưa bạn đến kết quả đầu tiên.

Hãy thử các liên kết sau:

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

"New york dijon" trên trang nhất và sau đó nhấn "Tôi cảm thấy may mắn" vẫn hoạt động.

Bất kỳ ý tưởng làm thế nào tôi có thể làm cho nó hoạt động nhất quán ở dạng URL?

Chỉnh sửa: Được rồi, dường như điều này có thể không thực hiện được trong một URL. Tôi sẽ đánh dấu một cách giải quyết tập lệnh greasemonkey là chính xác nếu được đăng.


Những thất bại: 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 Châu

Tôi đoán chức năng tìm kiếm an toàn cản trở tính năng này.
Ivan Châu

Tôi sẽ thử xem cách thức biểu mẫu HTML được thiết lập trong Firefox khi bật Noscript.
Chỉ cần Jake

Bài viết này cũng có thể bạn quan tâm. Theo đó, nó hoạt động với 2 từ khóa, nhưng không phải 3. Và thậm chí sau đó bằng cách nào đó, không phải lúc nào cũng vậy (tôi nghĩ btnIlàm việc với tối đa 2 từ khóa VÀ nếu Google không quyết định bạn có thể đã gõ sai (như Did you mean: geeks alive). của javascript được sử dụng để chuyển hướng bạn.
Rik

@JustJake, nút may mắn chứa thuộc tính không chuẩn : jsaction="sf.lck".
Synetech

Câu trả lời:


2

Tạo một tập lệnh Greasemonkey giải pháp:

// ==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();

Kịch bản này sẽ luôn chuyển tiếp bạn tới lựa chọn "Tôi cảm thấy may mắn" của Google với điều kiện bạn điều hướng đến www.google.com/?lucky=searchterm_goes_here.

Tôi đang sử dụng nó trong FireFox bằng cách sử dụng từ khóa để đánh dấu www.google.com/?lucky=%s.


1

Khi bạn đã tắt Javascript, có vẻ như Google sử dụng cả cookie và Referrertiêu đề HTTP được đặt thành https://www.google.comtheo dõi nếu bạn thực sự đến từ trang chủ Google và nhấp vào nút "Tôi cảm thấy may mắn". Tôi không nghĩ bạn sẽ có thể thuyết phục Google trao cho bạn kết quả may mắn chỉ bằng một URL.


1

Giải pháp tốt nhất tôi nghĩ ra là: Chrome> Tùy chọn> Quản lý công cụ tìm kiếm ... thêm:

  • Công cụ tìm kiếm: Tôi cảm thấy may mắn
  • Từ khóa: \ (thay thế bằng phím tắt ưa thích của bạn)
  • URL: {google: baseURL} tìm kiếm? Q =% s & btnI

Sau đó, theo chủ đề này , hãy thêm tập lệnh Greasemonkey / Tampermonkey sau đây để tải lại trang với Google làm người giới thiệu.

// ==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;

Đặt tập lệnh thành "chạy trên cơ thể" và thêm bất kỳ TLD Google nào khác khi bạn thấy phù hợp (Tôi không thể nhận regex hoạt động trong Tampermonkey).


Điều này hoạt động cho các truy vấn đơn giản nhưng không may phức tạp hơn. Một tập lệnh sử dụng javascript để nhấp vào kết quả hàng đầu sẽ tốt hơn.
Kevin

0

Một số giải pháp thanh lịch khác trên trang này không còn hoạt động nữa, vì vậy tôi đang thêm giải pháp của mình vào đây, giải pháp này hoạt động với tôi trên tampermonkey chrome vào tháng 12 năm 2018.

@match so với @include đã thay đổi cho tampermonkey (@match không thể bao gồm các thuật ngữ truy vấn), điều này gây ra khá nhiều sự thất vọng gỡ lỗi với điều này trong trường hợp google thay đổi URL của họ.

// ==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()
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.