はてなから、週明けの月曜日に「k.hatena.ne.jp」以下の各種のページを閉鎖するという発表があった。
- はてなブログ タグのリリースに先駆けて、2019年10月14日をもって、マイページやお気に入りキーワードや編集履歴、閲覧履歴機能など、k.hatena.ne.jp ドメインにて提供している全ての機能を停止します - はてなキーワード開発ブログ(http://keyword.hatenastaff.com/entry/2019/10/07/150912)
今までに自分がどんなキーワードを編集してきたのかわからなくなるのはちと寂しい。一覧を作った。
「http://k.hatena.ne.jp/Imamura/modified?page=nn」というページをまとめてダウンロードする。「nn」はid:Imamuraで1から89、id:manpukuya(以前使っていたメインアカウント)で34までだった。「http://k.hatena.ne.jp/Imamura/modified?page=[1-89]」というURLをirvineに渡すと、1から89まで展開してダウンロードできる。編集履歴を一時的に「公開」にすれば、cookieを扱う必要もない。
ダウンロードしたファイルは「copy /b *.* keyword.txt」で「keyword.txt」というテキストファイルに結合する。
その中からキーワード名とふりがな、カテゴリ、キーワードのURL、編集履歴のURL(http://d.hatena.ne.jp/keywordlog?klid=nn)を抽出した。ダウンロードしたファイル内の改行は「0x0A」と「0x0D+0x0A」が混在している。秀丸エディタで「改行を改行に置換」すれば「0x0D+0x0A」に統一できた。抽出したい内容を含む行とその前後はこんな感じ。
(…) <div class="keyword-list-blog"> <h3 class="mykeyword"><a href="http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%AD%A1%BC%A5%EF%A1%BC%A5%C9">はてなキーワード</a><span class="furigana">はてなきーわーど</span><span class="category">(はてな)</span></h3> (…) <tr class="hatena-star-entry"> <td class="timestamp"><a href="http://d.hatena.ne.jp/keywordlog?klid=1715815" class="hatena-star-uri hatena-star-title">2018-04-07</a></td> (…)
ここから、抽出したい行の行頭にユニークな文字(たとえば「㈱」や「∮」など)を置き、それが行頭にない行を全部削除した。続いて「<h3>~」などを正規表現で置換して下のような内容にした。
はてなキーワード はてなきーわーど http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%AD%A1%BC%A5%EF%A1%BC%A5%C9 はてな http://d.hatena.ne.jp/keywordlog?klid=1715815 http://d.hatena.ne.jp/keywordlog?klid=1609883 http://d.hatena.ne.jp/keywordlog?klid=1609205
はてなスクリーンショット はてなすくりーんしょっと http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%B9%A5%AF%A5%EA%A1%BC%A5%F3%A5%B7%A5%E7%A5%C3%A5%C8 はてな http://d.hatena.ne.jp/keywordlog?klid=1698816 http://d.hatena.ne.jp/keywordlog?klid=1063186 http://d.hatena.ne.jp/keywordlog?klid=727969
はてなダイアリー はてなだいありー http://d.hatena.ne.jp/keyword/%A4%CF%A4%C6%A4%CA%A5%C0%A5%A4%A5%A2%A5%EA%A1%BC はてな http://d.hatena.ne.jp/keywordlog?klid=1730973 http://d.hatena.ne.jp/keywordlog?klid=1730972 http://d.hatena.ne.jp/keywordlog?klid=1730861
「http://d.hatena.ne.jp/keywordlog?klid=nn」のURLが3つあるのは、キーワードの編集履歴のページでは1つのキーワードについて編集履歴へのリンクが最大3つまで掲載されているから。
ここから最新の編集履歴のURLだけを取り出し、まとめてirvineでダウンロードした。(※自分の編集履歴は14日に見られなくなるが、各キーワードの編集履歴は「d.hatena.ne.jp」のドメイン下なので14日以降も見られるはず)
この中の「<meta property="og:title" content="~" />」にキーワード名(とその編集履歴の日時)がある。「<pre>~</pre>」の範囲には、キーワードの説明文がはてな記法で書かれている。具体例は下を参照。
(…) <meta property="og:title" content="はてなキーワード@20180407184544" /> (…) <div id="log-body" class="keyword-container"> <div id="main"> <div class="keyword-body"> <pre>はてなのサービスの1つ。共有辞書サービス。はてなダイアリー/はてなブログの存在意義のひとつと言っても過言ではない素晴らしい機能。 (…) *関連キーワード - [[リスト::はてなのサービス]]</pre> </div> </div> (…)
「2019年」のような最近の年号キーワードはここ数年、ほぼ自分しか編集していなかった。キーワードの編集機能が再開されたとき、年号キーワードに書き込む内容をメモしてある。キーワードのもともとの内容がはてな記法で手元にあれば合成しやすい。プライベートな別ブログを立てて、そこに転記したりするつもり。