it-swarm-ja.com

一貫性のあるGoogleのラッキーマクロを感じています

Autohotkeyを使用して小さなスクリプトを作成し、検索語の最初のGoogle検索結果にすばやく移動します。私の問題は、URLが少し一貫性のない動作をしているにもかかわらず、これを行うために私が見つけた唯一の方法です。

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

これは、最初のヒットが非常に良い一致であると見なされた場合にのみ機能します。それ以外の場合、Googleは通常の10件の結果を表示します。ただし、フロントページの実際の「I'mFeeling Lucky」ボタンは、常に最初の結果に移動します。

これらのリンクを試してください:

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

ただし、フロントページの「ニューヨークディジョン」を押してから「I'mFeelingLucky」を押すと機能します。

URL形式で一貫して機能させる方法はありますか?

編集:わかりました。これは単一のURLでは実行できない可能性があります。投稿された場​​合、greasemonkey-scriptの回避策を正しいものとしてマークします。

12
arboreal shark

回避策のGreasemonkeyスクリプトを作成しました:

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

このスクリプトは、www.google.com/?lucky=searchterm_goes_hereに移動すると、常に Googleの「IFeelLucky」の選択肢に転送されます。

ブックマークのキーワードをwww.google.com/?lucky=%sに移動して、FireFoxで使用しています。

2
arboreal shark

私が思いついた最善の解決策は次のとおりです:Chrome>設定>検索エンジンの管理...追加:

  • 検索エンジン:私は幸運を感じています
  • キーワード:\(お好みのショートカットに置き換えてください)
  • URL:{google:baseURL} search?q =%s&btnI

次に、 このスレッド に従って、次のGreasemonkey/Tampermonkeyスクリプトを追加して、リファラーとしてGoogleを使用してページをリロードします。

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

スクリプトを「本体で実行」に設定し、必要に応じてGoogle TLDを追加します(Tampermonkeyで正規表現を機能させることができませんでした)。

1
Will Rice

Javascriptを無効にしている場合、GoogleはCookieとHTTP Referrerヘッダーの両方をhttps://www.google.comに設定して、実際にGoogleホームページからアクセスして[I'mラッキーな感じ」ボタン。幸運な結果をURLだけで渡すようにGoogleを説得することはできないと思います。

1
Just Jake

このページの他のエレガントなソリューションのいくつかは機能しなくなったので、ここにソリューションを追加します。これは、2018年12月にtampermonkey chromeで機能しています。

@matchと@includeがtampermonkeyで変更され(@matchはクエリ用語を含めることができません)、GoogleがURLを変更した場合に、これでかなりのデバッグフラストレーションが発生しました。

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