Hatena::Groupnicovideo

oscdis765の日記

2009-12-17

twitterのタイムラインをIDでフィルターする

| 08:56 | twitterのタイムラインをIDでフィルターする - oscdis765の日記 を含むブックマーク はてなブックマーク - twitterのタイムラインをIDでフィルターする - oscdis765の日記 twitterのタイムラインをIDでフィルターする - oscdis765の日記 のブックマークコメント

タイムライン上にFF13の感想等がでるのがいやーなので

IDでフィルターしてしまうことにしましたすみません。

ネタバレ苦手なんですすみません。


って思ったけどこれニコニコかんけーねーなすみません。

しかも数分ためしてすでに使い物にならねーと思いましたすみません。

// ==UserScript==
// @name           twitter_filter
// @namespace      twitter
// @include        http://twitter.com/
// ==/UserScript==

//config
var ng_id_list = ["oscdis"]

//logic
function eval_xpath(rcv, doc, xpath){
  return rcv.evaluate(xpath, doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
}

function doc_xpath(xpath){
  return eval_xpath(document, document, xpath);
}

function ary_xpath(xpath){
  var ret = [];
  var a = doc_xpath(xpath);
  for (var i = 0; i < a.snapshotLength; i++){
    ret.push(a.snapshotItem(i));
  }
  return ret;
}

function ancestor(node, i){
  return i==0 ? node : ancestor(node.parentNode, i-1);
}

function is_ng_id(id){
  for (var i = 0; i < ng_id_list.length; i++){
    if (ng_id_list[i] == id) return true;
  }
  return false;
}

//main

var a = ary_xpath('//span[@class="status-body"]/strong/a');

for (var i = 0; i < a.length; i++){
  if (is_ng_id(a[i].text)){
    var li = ancestor(a[i], 3)
    li.parentNode.removeChild(li);
  }
}

2009-12-16

ランキングをタイトルでフィルターする

| 19:50 | ランキングをタイトルでフィルターする - oscdis765の日記 を含むブックマーク はてなブックマーク - ランキングをタイトルでフィルターする - oscdis765の日記 ランキングをタイトルでフィルターする - oscdis765の日記 のブックマークコメント

ランキングが不愉快だったのでGreasemonkeyかいたヨー。

動画タイトルに対しての正規表現マッチなので汎用性あんまりないヨー。

// ==UserScript==
// @name           shut up PIYO
// @namespace      nico
// @include        http://www.nicovideo.jp/ranking/*
// ==/UserScript==

//config
var keyword = /ぴよぴよ/

//logic

function eval_xpath(rcv, doc, xpath){
  return rcv.evaluate(xpath, doc, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
}

function doc_xpath(xpath){
  return eval_xpath(document, document, xpath);
}

function ary_xpath(xpath){
  var ret = [];
  var a = doc_xpath(xpath);
  for (var i = 0; i < a.snapshotLength; i++){
    ret.push(a.snapshotItem(i));
  }
  return ret;
}

function ancestor(node, i){
  return i==0 ? node : ancestor(node.parentNode, i-1);
}

//main

//div/div/div/table/tbody/tr/td/div/div/h3/a
var a = ary_xpath('//a[@class="watch"]');

for (var i = 0; i < a.length; i++){
  if (a[i].text.match(keyword)){
    var div = ancestor(a[i], 9)
    div.parentNode.removeChild(div);
  }
}

2009-11-02

ββっぽくマイリス登録できるようにしてみた。

| 21:10 | ββっぽくマイリス登録できるようにしてみた。 - oscdis765の日記 を含むブックマーク はてなブックマーク - ββっぽくマイリス登録できるようにしてみた。 - oscdis765の日記 ββっぽくマイリス登録できるようにしてみた。 - oscdis765の日記 のブックマークコメント

ニコニコ動画(9)になってまず不便に感じたのが、マイリスト登録のインターフェース変更でした。

それをββまでの様に、再生ページに登録フォームを追加し、

再生ページから選択、登録できるようにするGreasemonkeyスクリプトを書きました。


http://userscripts.org/scripts/show/60890


デモと設定を手順を動画にて紹介してますので、こちらもご覧ください。


余談ですがスクリプトのライセンスはMITライセンスにしてあります。

これはあんまり詳しくない人が聞いたときに、このスクリプトMITなんだけど。やばくね?ガチやばくねMIT

的な効果を狙ってのライセンス設定となっています。


あとこの動画、BGMがスネオのやつで、なんでこのBGM(笑)と言われてますが、

あれはたんに手抜きで前作の使いまわしなのです。

余力があれば何かまた加工BGMを作りたかったのですが、なれない動画編集でいっぱいいっぱいでした。


でもちょっとうけてるので結果オーライ。