2013-04-21

rubyでgoogle docsをテキストで取得する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
google-drive-ruby
というのがあるを知ったので試してみることにしました。

Google Driveに保存されているGoogle Docsの内容をテキストで取得するのを試してみました。

以下のような感じです。


# -*- coding: utf-8 -*-

require "rubygems"
require "google_drive"

#ログイン
session = GoogleDrive.login("googleカウント", "パスワード")

#どんなドキュメントがあるかを確認するには以下のような感じで。
#max-resultsは最大1000を指定できるようです。指定しない場合は100件になります。
#for file in session.files("showfolders" => false ,"max-results" => 1000)
#  p file.title
#end

#タイトルを指定してドキュメントを取得します。
aaa = session.file_by_title('カーズは考えるのをやめたの?')

#テキストでダウンロードするためのurlを生成します
url = aaa.document_feed_entry.css("content")[0]["src"]
url += "&exportFormat=txt&format=txt"

#テキストを取得です
body = session.request(:get, url, :response_type => :raw)
text = body.force_encoding('UTF-8')


exportFormat=txt&format=txt
の部分をpdfとかに変えればPDFとかで所得できそうです。
これを利用して一回ローカルのファイルをアップロードして、PDFでダウンロードみたいなこともできそうな感じです。

2013-04-20

電子レンジで簡単タマゴサンドをやってみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
以下のサイトを見て電子レンジでできる簡単タマゴサンドの中身を造って見ました。
http://recipe.rakuten.co.jp/recipe/1660001004/

生卵を割って耐熱容器にいれて、タマゴの黄身の部分をフォークで10回ぐらい刺しておきます。
白身と混ざらない感じにして電子レンジで40秒ぐらい加熱して、出来上がったものを崩してマヨネーズやコショウなどで味付けすれば完成です。

ゆで卵から作るタマゴサンドに比べて、白身の部分がちょっと柔らかい感じがする程度の違いでできちゃいます。

簡単にできるし、加熱のときにチーズとか入れるなど、また別の違う工夫ができるので、これはこれでとてもありな感じでした。

ちなみにチーズに七味を入れたものがおいしかったです。

最初は、以下のサイトのやり方でやってみました。
http://youpouch.com/2013/04/18/116692/

こちらは、タマゴに大さじ一杯分のマヨネーズを入れて、よく混ぜたものにするというが違いですが、後は同じです。

こちらは、スクランブルエッグみたいな感じになるので、白身と黄身がいい感じで混ざりきっていないタマゴサンドとはちょっと違うものだと思ったほうがよいです。(これはこれでありですけどね。)

あんまり電子レンジ調理って、あんまりしたことなかったけど、もうちょっとやってみたいかもと思ってみました。

2013-04-18

ruby1.9でBOM付きutf-8のファイルの内容をShift-JISに変換する

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
utf-8のファイルの中身をShift-JISに変更しようと思ったらエラーが出たのです。

以下のような感じを実行しようとしたら、

aaa = open("aaa.csv").read
p aaa.encode("cp932")

以下のようなエラーが出てしまったのです。
in `encode': U+FEFF from UTF-8 to Windows-31J (Encoding::UndefinedConversionError)


どうやら変更しようとしたファイルは、もBOM付きutf-8というものだったようです。

ちなみにBOMとは、バイト順マーク(Byte Order Mark)というもののようで、文書ファイルの先頭に付ける EF BB BF という3バイトのバイナリデータのことのようです。ファイルの文字コードがUTF-8であることを明示するために付けることもあるようです。


で、エラーを出なくするには、以下のようにすればOKです。

aaa = open("aaa.csv", 'r:BOM|UTF-8').read
p aaa.encode("cp932")

ファイルをopenするときに'r:BOM|UTF-8'をつけるとよいようです。
以下が参考になりました。
http://qiita.com/items/2e2d425e439d4b16a279


他の手段として、以下のようなものもあります。

aaa = open("aaa.csv").read
aaa.gsub!("\xEF\xBB\xBF".force_encoding("UTF-8"), '')
p aaa.encode("cp932")

BOMを削除してしまう方法です。
以下が参考になりました。
http://stackoverflow.com/questions/5011504/is-there-a-way-to-remove-the-bom-from-a-utf-8-encoded-file


他にもBOMを削除する方法として以下のような方法もあるようです。

aaa = open("aaa.csv").read
aaa = aaa.unpack('C*')[3..-1].pack('C*').force_encoding("UTF-8") if aaa.unpack('C*')[0..2].pack('C*') == "\xEF\xBB\xBF"
p aaa.encode("cp932")

以下が参考になりました。
http://favotter.net/status.php?id=14919895861


その他の方法として、以下のようなものもあります。

aaa = open("aaa.csv").read
require 'nkf'
p NKF.nkf("-s",aaa)

encodeを使わないでNKFを使えばBOMを気にしないでよさげです。


なんかBOMってめんどくさいなぁとか思ったのですが、BOM付きutf-8のcsvファイルは文字化けせずにexcelで開くことができるというのも調べていたらわかりました。
utf-8のcsvファイルはexcelでは、すべて文字化けすると思い込んでいました。


2013-04-14

今週も野菜の半干しをやってみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
先週に引き続き今週も野菜の半干しをやってみました。

今週は、
・大根
・キュウリ
・ニンジン
・タマネギ
をやってみました。

大根、キュウリ、ニンジンは、とてもおいしかったです。
タマネギもちょっと甘みが増した感じがしたのですが、それほどインパクトはありませんでした。

ニンジンは、以下の本に載っていたツナと一緒にいためて醤油(今回は麺つゆを使ってみました)で味付けしたもので食べたのですが、なかなかおいしかったです。



この本を見ると三つ葉とか、葉っぱ系のもの意外は何でも干せる感じでした。
葉っぱ系でも、キャベツや白菜と言ったしっかりした葉っぱ系ならば問題なさそうです。
他にもフルーツもヨサゲな気配です。


2013-04-07

野菜の半干しをやってみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク
今日は強風だったけど天気はよい感じだったので前から気になっていた野菜の半干しというのをやってみました。

切った野菜を↓こういうのに入れて10時から3時ぐらいまで干しておくだけというものです。


今回、試したのは以下の4つです。
・大根
・ねぎ
・もやし
・しめじ

で結果ですが、大根はとてもよいです。触感がタクアンみたいにパリポリした感じになっておいしかったです。
ねぎともやしは、なんか予想以上に乾燥してしまい、なんか普通の感想状態みたいな感じで特にこれと言って・・・という感じでした。
しめじは、あんまり変わらなかったかも・・・って感じです。

どうやら調べてみたところ
・白菜
・にんじん
・ナス
はヨサゲな気配なので、今度またやってみようと思います。

そして、せっかくなので以下の本も読んでみることにしてみました。