はてブ特定タグの一括置換

結構しょぼい方法です。
しかも、今回は[javascript]→[JavaScript]決め打ち。
必要な道具は、FirefoxFirebugAutoPagerize


1.タグjavascript(例:http://b.hatena.ne.jp/monjudoh/javascript/)のページを開く
2.PageDown押しっぱなしでAutoPagerizeで全ページ分表示する
3.以下のJavaScriptFirebugのコンソールで流してjQueryを使えるようにする。

(function(){
	var s=document.createElement("script");
	s.charset="UTF-8";
	s.language="javascript";
	s.type="text/javascript";
	s.src="http://jqueryjs.googlecode.com/files/jquery-1.2.1.min.js";
	document.body.appendChild(s);
})();

3.以下のJavaScriptFirebugのコンソールで流して適当に待つ

(function(){
	var url = 'http://b.hatena.ne.jp/username/edit';
	var mode = 'enter';
	var rkm = '';
	var links = $('a[href=/username/javascript/][class!=tag-latest]');
	(function(links){
		    var link = links[links.length-1];
			var comment = $(link).parents('dd.comment').text().replace(/\[javascript\]/,'[JavaScript]');
			var eid = $(link).parents('dl.bookmarklist').attr('id').replace(/bookmark-/,'');
			var data = {mode:mode,rkm:rkm,eid:eid,comment:comment};
			
			links.length--;
			var func = arguments.callee;
			if(links.length == 0){
				func = function(){};
			}
			$.post(url, data, function(){
				func(links);
			});
	})(links);
})();

注釈

  1. urlとlinksの中のusernameのところは自分のユーザ名にする
  2. rkmにははてブ編集ページのhiddenフィールドrkmの値を入れる(セッションIDのMD5値だそうな)
  3. 置換前置換後のタグの指定についてはlinksとcommnetのところをいじればOK
  4. eachメソッド内でPOSTすると暴力的なのでケツから順にPOSTするようにしました


早めにやる

  • 慣れたjQuery使いたかったとはいえ、いちいち読み込ませるのは不便なのでPrototype.js 1.4(読み込まれてる)で出来るようにする
  • アルファベットを含むタグ名を指定したら、大文字小文字表記ゆれを一括で直すようなのにする


なんとかしたい

同日追記

HTMLのソース見てたらHatena.rkmにrkmが設定されてたということに今更気付いた。
rkmの件は解決。