読者です 読者をやめる 読者になる 読者になる

ツナワタリマイライフ

日常ネタから技術ネタ、音楽ネタまで何でも書きます。

ニュースサイトを参考にブログのカテゴリ分けを再考する

ブログ

はじめに

書くテーマが決まっていないブログは、内容に一切縛りがない分、カテゴリが散らかりまくる欠点がある。これは月イチメンテする必要がどうしてもある。このメンテのコストをできるだけ抑えつつ、なるべく客観的な評価指標を探っていきたいところです。

なお、これまでの全記事のタイトルとカテゴリ取得に関しては以下の記事で書いた。

take-she12.hatenablog.com

全記事とカテゴリを完全なcsv形式で取得

前の記事では、中途半端にtitle と categoryを配列のまま出していたりして、なんやかんやNumbersで見るのに不便だったので完全なcsvとして出力するように修正した。

# coding: UTF-8

require 'atomutil'

USERNAME = 'take_she12'
PASSWORD = 'APIキー'

POST_URI = "https://blog.hatena.ne.jp/take_she12/take-she12.hatenablog.com/atom/entry"

auth = Atompub::Auth::Wsse.new :username => USERNAME, :password => PASSWORD
client = Atompub::Client.new :auth => auth

feed = client.get_feed(POST_URI);
out_fp = File.open("output.txt", "w")

while feed != nil do
  entry = feed.entries
  entry.each{|content|
    p content.title #debug
    
    cate = []
    content.categories.each do |category|
      p category.term #debug
      cate << category.term
    end

    out_fp.printf("%s, %s\n", content.title, cate.join(","))
  }
   
  if feed.next_link == nil then
    break
  else
    feed = client.get_feed(feed.next_link);
  end
end

out_fp.close

修正したところはjoinメソッドを使ったところぐらいです。配列を引数で指定したもの区切りのstringに変換するんやね、本当rubyはやりたいことだいたいできるな。

出力結果はちゃんとこんな感じになります。

[take@tk2-207-13166 ~]$ cat script/output.txt | head
日報をgitlabで管理すると結構いいよ, ソフトウェア開発,ソフトウェア開発-備忘録
2月のアクセス解析と人気記事まとめ, ブログ
node.jsでクローリングしてことわざの使用例をつぶやくbotを作った, ソフトウェア開発,ソフトウェア開発-node.js
ブログの記事ネタリストをtoodledoで管理する, ブログ
atomutilで全エントリーのタイトルとカテゴリを取得する, ソフトウェア開発,ソフトウェア開発-Ruby,ブログ
技術者としてお金を稼ぐのか、ビジネスマンとしてお金を稼ぐのか, ソフトウェア開発,ビジネス
自信なんて持つ必要ない, 考え方
英語でプログラミング言語を学ぶ「JavaScript: The Good Parts 」Object編, ソフトウェア開発,ソフトウェア開発-JavaScript
小銭貯金ソリューション、ついに計測完了した話, 生活
「一行バカ売れ」から考えるブログや書籍のタイトル付け, 本,ブログ

カテゴリの見直し

今回、毎日見ているニュースサイトMenthasさんを参考にしました。

menthas.com

これまではソフトウェア開発っていう大分類の下にrubyだのvagrantだのありましたが、Infrustructureとprogrammingっていう大分類にわけてしまおうと思いました。そんでもってフレームワークはもう個別に扱わないことにしました。rubyも、railsも、rubyで。node.jsはjsです。

おわりに

月イチカテゴリメンテはこれからもやっていく予定です。

以前、その他は百害会って一理なしと言いましたが、件数が一定数に満たないものはカテゴリ化する価値があまりないので、そういうものはその他にいれるべきかなと思ったので前言撤回したい。(笑)

take-she12.hatenablog.com