ニコニコ動画/youtubeを検索するubiquityの作ってみようとするの巻
今更始める。
おもしろい。
でもわかんない。わかんないなぁ!
はまったら生活に支障をきたすと思います。
調子に乗ってvsearchとしてgithubに入れました。
http://gist.github.com/168310
こうなります。ちょっと幸せ。
CmdUtils.CreateCommand({ name: "nico-youtube-search", icon: "http://nicovideo.jp/favicon.ico", author: {name: "modeverv", email: "modeverv@ジーメイル"}, license: "GPL", description: "nico-youtube-search:\n" + " nico-youtube-search <keyword> \n", help: "niconico youtube search", takes: {"input": noun_arb_text}, preview: function (pblock, input) { var url = this._url(input); var url2 = this._url2(input); if (input.text.length == 0) { pblock.innerHTML = "<pre>" + this.description +"<br/>"+ url + "</pre>"; return; } pblock.innerHTML = ""; var embed_content = function (data) { var p = []; var t = []; var doc = jQuery(data); p.push('<h1>ニコニコ動画検索結果:</h1>'); doc.find(".thumb_frm").each(function(){ $(this).find('a').each(function(){ $(this).attr({ href:"http://nicovideo.jp/" + $(this).attr("href") }); }); p.push($(this).html()) }); doc.find(".pagelink").eq(0).each(function(){ t.push($(this).html()); }); jQuery(pblock) .append(p.join('<hr/>')) .append("<h1>" + t.join('') + "</h1>"); }; var embed_content2 = function (data) { var p = []; var t = []; var doc = jQuery(data); p.push('<h1>youtube検索結果:</h1>'); doc.find(".list-view").each(function(){ var t = $(this); //適当に要素を削る t.find(".yt-uix-hovercard-content,.hid,.video-facets,.video-short-title,.video-translation-links,.video-username,.video-translation-links").empty(); t.find(".video-cell,playlist-cell,").each(function(){$(this).attr({ style:"width:95%;"}); }); t.find(".hid quicklist-inlist").empty(); t.find('a[href]').each(function(){ $(this).attr({ href:"http://www.youtube.com/" + $(this).attr("href") }); }); t.find("div.video-cell,div.playlist-cell,div.channel-cell").each(function(){p.push($(this).html());}); }); t.push(doc.find(".pagingDiv").eq(0).html()); jQuery(pblock) .append(p.join('<hr/>')) .append("<h1>" + t.join('') + "</h1>"); }; CmdUtils.previewGet(pblock, url, null, embed_content, "html"); CmdUtils.previewGet(pblock, url2, null, embed_content2, "html"); }, execute: function (input) { //機能無し }, _url : function (input) { var template = "http://www.nicovideo.jp/search/${word}"; return CmdUtils.renderTemplate(template, {word: encodeURI(input.text)}); }, _url2:function(input){ var template = "http://www.youtube.com/results?search_query=${word}"; return CmdUtils.renderTemplate(template, {word: encodeURI(input.text)}); } });
追記
ニコニコ動画にはログインしておいてください。