読書メーターには、読書記録(読んだ本、積ん読本、読みたい本、本棚など)を外部にファイルとしてエクスポートする機能がありません。Ruby のライブラリ mechanize, nokogiri を使って、読書メーターのサイトをスクレイピングして、データをExcelブックに取り出すプログラムを作りました(bmscrp.rb )。Excelブックの生成には rubyXL を使い、書誌情報の収集は prallel を使って並列処理しました。 nokogiri がスクレイピングに必須なのは言うまでもありませんが、parallel で並列処理が簡単に記述できるのは、RESTなサイトからデータを収集する時にとても便利です(サイトに負荷をかけないように気をつけないといけませんが)。 github で公開しています。以下、README.md からの抜粋です。 Requirements ruby 2.1.8,
以前、webページの情報を切り取ってくるプログラムを作ったと書きました。 読書メーターという読んだ本を管理できるサービスにおいて、どの本がどれだけ読まれたかを調べてみたくなったのです。ある程度データがまとまったのでまとめてみます。夏休みの自由研究みたいなものです。 調査方法 ・Rubyで書いたスクリプト(詳しくは上の引用)で読書メーターにアクセスし、任意の本の読者数を調べる。 ・調査期間は2015年7月12日から2015年7月31日。 ・午前10時にデータを収集する。 Gist : 読書メーターに登録されている本の読者数を取得するスクリプト 調査結果 単純な推移 最近読んで印象に残った本をピックアップ。とりあえず岸見一郎さんの「嫌われる勇気」です。発売は2013年の12月。 嫌われる勇気―――自己啓発の源流「アドラー」の教え 作者: 岸見一郎,古賀史健 出版社/メーカー: ダイヤモンド社
読んだ本の管理ができる「読書メーター」というサービスにおいて、それぞれの本にどれだけの読者数がいるのかを引っ張ってくるプログラムを書きました。こんな感じで出力されます。 Gist : 読書メーターに登録されている本の読者数を取得するスクリプト プログラム作成の動機 読書メーターは本好きのためのSNSです。「人」に重きを置いたサービスだと思っています。読んだ冊数の変化がグラフ化されていたり、友達として繋がったりできます。一方で、「本」そのものに着目した機能は少なめです。読み終わった読者の数を追うだけでも、おもしろいデータがとれるのではないかと考えました。 そこで、1日ごとに登録読者数の変化を見てみようと思ったのですが、手動でやるのは思った以上に面倒でした。複数の本の変化を調べないと面白いデータは取れないと思ったのですが、注目する本が増えれば増えるほど手間がかかります。だから、プログラムを書い
RubyのMechanizeとNokogiriで読書メーターをスクレイピング Rubyで読書メーターをスクレイピングしたい 読書系SNSの読書メーターを利用しています。 読書メーター - あなたの読書量をグラフで管理 ユーザー間のコミュニケーションも活発で、お気に入り・お気に入られ(Twitterでいうフォロー・フォロワーの関係)のユーザーとどのくらい同じ本を読んでいるか(このことを共読と呼んでいます)、なんて話題で盛り上がったりしてます。 ユーザー毎のマイページでそういう情報は確認できますが、数字は日々変化しますし、何十人、何百人といると楽な方法が欲しくなります。 あるお気に入りユーザーの方がPerlで共読数などを一括取得するスクリプトを書かれていて、以前それをいただいたんですが、自分の環境ではうまく動かなかったのでどうせなら自分が勉強中のRubyで同じものを書いちまえ、ということで書い
RubyのMechanizeとNokogiriで読書メーターをスクレイピング Rubyで読書メーターをスクレイピング Rubyで読書メーターをスクレイピングしたい 読書系SNSの読書メーターを利用しています。ユーザー間のコミュニケーションも活発で、お気に入り・お気に入られ(Twitterでいうフォロー・フォロワーの関係)のユーザーとどのくらい同じ本を読んでいるか(このことを共読と呼んでいます)、なんて話題で盛り上がったりしてます。 ユーザー毎のマイページでそういう情報は確認できますが、数字は日々変化しますし、何十人、何百人といると楽な方法が欲しくなります。 あるお気に入りユーザーの方がPerlで共読数などを一括取得するスクリプトを書かれていて、以前それをいただいたんですが、自分の環境ではうまく動かなかったのでどうせなら自分が勉強中のRubyで同じものを書いちまえ、ということで書いてみました
Rubyで読書メーターをスクレイピング Rubyで読書メーターをスクレイピングしたい 読書系SNSの読書メーターを利用しています。 読書メーター - あなたの読書量をグラフで管理 ユーザー間のコミュニケーションも活発で、お気に入り・お気に入られ(Twitterでいうフォロー・フォロワーの関係)のユーザーとどのくらい同じ本を読んでいるか(このことを共読と呼んでいます)、なんて話題で盛り上がったりしてます。 ユーザー毎のマイページでそういう情報は確認できますが、数字は日々変化しますし、何十人、何百人といると楽な方法が欲しくなります。 あるお気に入りユーザーの方がPerlで共読数などを一括取得するスクリプトを書かれていて、以前それをいただいたんですが、自分の環境ではうまく動かなかったのでどうせなら自分が勉強中のRubyで同じものを書いちまえ、ということで書いてみました。 共読解析ツールのソースコ
kyodoku.rb p��r V �M�r V # -*- coding: utf-8 -*- require 'mechanize' require 'nokogiri' require 'kconv' module HashInitializable def initialize(attributes={}) attributes.each do |name,value| send("#{name}=",value) end end end class HashInitializableStruct def self.new(*arguments) struct = Struct.new(*arguments) struct.send(:include, HashInitializable) struct end end properties = [:id,:name,:user_u
読書メーターはインポート機能が無いので他の蔵書管理から移るのが めんどくさいのですが,Perl の WWW::Mechanize 使ってさくっとやる方法. Perl 分かんない人は下手に手を出すと読書メーターがひどいことになるので注意 w Perl 分かる人は適当に加工して使うといいんじゃないでしょうか. できあがった読書メーターはこちら.reverse 入れ忘れたので読み終えた本以外, 逆順だけど,まぁどうでもいいや. 読書メーター – riywo さんの読書メーター SSBCSV モジュール まずは StackStockBooks のエクスポート機能で CSV ファイルを書き出します. このファイルには ISBN とか書名とかいろんな情報が入ってますが,基本的に 使うのは「ISBN」「状態」「日付」で良いと判断しています. あとは Perl で読み込みます.Text::CSV::Sim
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く