一応満足のいくラインです
クラウドワークスで、0620-01【1分半以内に作業終了!】10件の検索結果の報告をお願い致します。5円の報酬になりますという仕事をやらせていただいたのですが、これをもっと簡単にできないか考えました。特定のキーワードで検索したページで上から3番目までのいずれかのサイトにリダイレクトしたいのですが…
// ==UserScript== // @name yahoo_rand_redirect // @namespace http://d.hatena.ne.jp/jigendaddy/ // @include http://search.yahoo.co.jp/search?p=* // @version 1 // @grant none // ==/UserScript== //サイトのurl中に検索するキーワードが含まれる場合は対象としません var result = document.evaluate('id("WS2m")/div[@class="w"]//span[@class="u"][not(./b)]/text()', document, null, 7, null); //0から2までの整数をランダムに指定 var rand = Math.floor( Math.random() * 3 ); location.href="http://"+result.snapshotItem(rand).data;
いつも通りこんなスクリプトを考えたのですが、これだと検索エンジンの仕様上URL中に検索するキーワードが含まれる場合に対応できません。最悪全てURL中にキーワードが含まれるページであれば機能しません。そこまでのケースは稀だとは思いますが、想定しているように上から何番目までと指定のあるケースに対応できないことは十分考えられます。もう少しなんとかしたいですね