はじめに
前回、atomuitlを使ってみた。
今回は軽いその応用で、記事のタイトルをカテゴリを取得した。
というのも、好き勝手書いているのでカテゴリは増え放題なんですね、それを定期的に振り返るために一覧を出したかったわけです。
書いたスクリプト
# 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("title: %s, category: %s\n", content.title, cate) } if feed.next_link == nil then break else feed = client.get_feed(feed.next_link); end end out_fp.close
出力されるファイルの中身はこんな感じ。
[take@tk2-207-13166 script]$ head output.txt title: 技術者としてお金を稼ぐのか、ビジネスマンとしてお金を稼ぐのか, category: ["ソフトウェア開発", "ビジネス"] title: 自信なんて持つ必要ない, category: ["考え方"] title: 英語でプログラミング言語を学ぶ「JavaScript: The Good Parts 」Object編, category: ["ソフトウェア開発", "ソフトウェア開発-JavaScript"] title: 小銭貯金ソリューション、ついに計測完了した話, category: ["生活"] title: 「一行バカ売れ」から考えるブログや書籍のタイトル付け, category: ["本", "ブログ"] title: はてなブログのAPIをatomutilを使って全記事のタイトルと本文を取得する, category: ["ソフトウェア開発", "ソフトウェア開発-Ruby", "ソフトウェア開発-シェルスクリプト", "ブログ"] title: 「脳が認める勉強法」から考える、自分にとってベストの勉強法, category: ["本", "教育"] title: 日報をgitlabで管理すると結構いいよ, category: ["ソフトウェア開発", "ソフトウェア開発-備忘録"] title: ブログの記事ネタリストをtoodledoで管理する, category: ["ブログ"] title: node.jsでhello,worldする, category: ["ソフトウェア開発", "ソフトウェア開発-node.js"]
カンマ区切りにしたんで、csvチックに読み込めるかなと。titleとかcategoryって文字はなくてもいいんですけど。これで見直しができますね。
参考
前回の記事でも書きましたがほぼほぼこの記事のままです。
あとはatomutilの作者さんの記事とrdocを見ました。
readmeに代表的な使い方は書いてあったので、categoryの中身とってくるのもできました。ありがとうございます。
おわりに
しかしカテゴリ整理するとなるとまた1つ1つ変更しないといけないのこれから記事が増えるごとにしんどくなるよね。。。どうしたものか。自動化しようにもできないしなぁ。。。まぁリストが出来たおかげで変更するところだけ変更すればいいのでまだ楽か。やったぜ。