今更ですが、最近iPod touchを購入しました。
何の為かというと、
- 先日長距離出張がありまして、本を読むのだけじゃヒマになりそうだなぁ。というのが発端。
- 机に向かっていると、段々 お○が痛くなるので、ベッドや安楽イスでネットでカウチをしたいなぁ。というのが本音。
- 値段をチェックすると、結構安い事に気付いた。というので決定。
という次第です。
ちなみに、iPhoneにしなかったのは、常時ネット接続すると自分で歯止めが効かなくなりそうだな。と思ったのです。
購入してから暫くいじってみて、確かにユーザーインタフェースが優れているなぁと感心しました。
後、ごてごてしていない機能デザインも良いですね。
自分には逆上がりしても真似出来ないですね。(周りの要求に屈しやすい私)
オフラインなiPod
とまぁ、前振りはさておいて問題です。
iPod touchはネットワーク環境として Wi-Fiが使える訳ですが、外に出ると このWi-Fiって、意外と使える所が少ない訳です。
そういう人の為に、PHSや携帯のネットワークに繋ぐアダプタが売られているようなんですが、自分はそこまでネットワークへの強い渇望がある訳じゃないんですね。
会社への行き来で空いたヒマな時間を潰せれば十分なんです。
だから、例えばオンライン状態(家とか)で、ちょこちょこコンテンツをダウンロードしておいて、ヒマな時間で見るのでも(今は)十分事足りるんですね。
ニュースサイトとかは専用アプリで、オフラインでも読めるものがあったので、早速使っているのですが、問題は個人のWeb site。
自分は、定期的にいつも見ている個人Web siteがあるので、これをオフラインで見られると良いだろうなぁ。と思いました。
が、標準のWebブラウザは、お気に入りの保存程度しかない。
手動でWebをHTMLに落としおいて iPod touchへUSB経由でコピーし、後で見る? …面倒でやってられません。
何か方法が無いか?と思って調べてみました。
・候補1.「Read it Later」などの後で読むサービスを使う
以下に示すように、「Instapaper」と「Read it Later」が有名なようです。
- あとで読むサービス「Instapaper」と「Read it Later」の違い - iPod LOVE
http://ipod.item-get.com/2009/05/instapaperread_it_later.php - Read It Later – 未読管理サービスのまとめ « hal’s Playground
http://halspg.wordpress.com/2009/08/23/read-it-later-%E6%9C%AA%E8%AA%AD%E7%AE%A1%E7%90%86%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AE%E3%81%BE%E3%81%A8%E3%82%81/
無料版をちょっと試してみたんですが、
- 「読んだ」ボタンを押すとブックマーク?が消える。
- 残したブックマークも、ブックマークした時点の情報しか残ってないので、定期的に見る事が出来ない。
という自分的使い方に沿わない問題がありました。
何か他の方法がある気もしたんですが、Blogでの体験記事を見る限り、自分の目的とは別の使い方をされているようで…。これ以上の調査を諦めました。
・候補2.「iWebSaver」と「Web2Touch」でオフラインなブックマークを使う
以下に示すように、ブックマークにコンテンツ情報を記録する事で、オフラインでも閲覧できるようです。
- iPod touchオフライン時ウェブチェック用の「iWebSaving」 :教えて君.net
http://www.oshiete-kun.net/archives/2008/07/ipod_touchiwebsaving.html - iWebSaverとWeb2touchを比較してみた - もとまかのiPhone・iPod touch戯れ日記
http://d.hatena.ne.jp/moto_maka/20080522/1211400562
見つけた時は、「キタ、コレ!」と思いました。
が、少し問題が。
という個人的わがままです。(ヤレヤレ
AirFilesとWebDAV
何か良い方法は無いかな?と思ってWebサーフィンしていたら、ふと、ファイルをWi-Fi経由で送り込んで iPod touch上で見る事ができるソフトがある事を思い出しました。
そういえば、HTMLヘルプを iPod touchで読みたいが為に、AirFiles というソフトを購入していたのだった。
- 動画や文書ファイルをWi-Fi転送できる「Air Files(ファイル君)」の使い方|iPhone大好き
http://mikan8929.blog6.fc2.com/blog-entry-66.html - Air Files
http://dreamo.jp/airfiles/
これを使うと、WebブラウザかWebDAVクライアントを使って Wi-Fi経由で iPod touchに送れるんですね。
これを思い出した結果、
- HTMLファイルを定期巡回してローカルにダウンロード
- WebDAVクライアントを使って、ダウンロードしたHTMLファイルを iPod touchに転送
(Webブラウザを使わないのは、自動化が面倒そうだから) - iPod touchのAirFilesで、HTMLファイルをオフライン閲覧
という自分的解決方法を思いつきました。
WebDAVを使った自動転送の実装
大分寄り道しましたが、いよいよ実装です。
今回は、わたなべさんのBlogで公開されている PythonのWebDAVクライアントライブラリを、利用させてもらう事にしました。ありがとうございます。
- ログ取得ツール » Blog Archive » FTP, WebDAV, NFSサーバにPythonからアクセスするクライアントライブラリ
http://wtnb.mydns.jp/wordpress/archives/4410
そのままでは使う事が出来なかったので、以下のWeb siteの資料を眺めつつ、勝手にリファインさせて頂きました。
- SourceForge.net: python-webdav - Project Web Hosting - Open Source Software
http://python-webdav.sourceforge.net/ - WebDAV Resources JP
http://webdav.todo.gr.jp/
改造したコードと、それを使った自動化転送用のスクリプトとバッチファイルは、↓ここに置いています。ご自由にどうぞ。
プログラムの説明
上記の圧縮ファイルには、以下の3ファイルが入っています。
- gethtml.py
Webショートカットを読み取って、WebからHTMLファイルにダウンロードするスクリプト。 - filesys.py
ローカルのHTMLファイルを、WebDAVを使ってiPod touchのAirFilesストレージにアップロードするスクリプト。(わたなべさんのソースを弄っています) - up_air.bat
上の2つを連動させるバッチファイル。単に連続して呼び出しているだけです。
以下のように処理を行う流れを想定しています。
- 定期的に巡回したいWeb siteを、Webショートカットファイル(お気に入りの実体ファイル)として、適当なフォルダに配置する。
仮に、'C:\LINK'フォルダに置くとします。 - gethtml.pyを呼び出して、Webショートカットを入れたフォルダを指定し、WebからHTMLファイルをダウンロードして指定フォルダに保存する。
例えば、「python gethtml.py C:\LINK\* C:\HTML
」とすると、'C:\LINK'にあるWebショートカットファイルを順次、'C:\HTML'フォルダに保存します。 - iPod touchから AirFiles アプリを起動して、タイトル画面の「Wi-Fi 情報」が出た所で、一旦止める。
(AirFilesのサイト画像より) - filesys.pyを呼び出して、ローカルのHTMLファイルを iPod touchの AirFilesの管理ストレージにアップロードする。
例えば、AirFilesの起動メッセージが「http://192.168.2.103:8080」とあれば、「python filesys.py --upload http://192.168.2.103:8080/Myfiles/ C:\HTML\*.htm
」とすると、'C:\HTML'フォルダの全てのHTMファイルを iPod touchに転送します。
終わりに
- まずは作ってみたので、これで どれだけ使い物になるか暫く使ってみようかな、と。
- 正直、リッチなHTMLでなくてもOKなので、w3mとかLynxを使って、テキストに落としたものを見るようにしようかなぁ。
- WebDAVクライアントのパッチ修正なんですが、非常にテキトーです。
- AirFilesのストレージは、WebDAVから見ると、/Myfilesの下に既定フォルダが並んでいる点にご注意を。
/(ルート)の直下にファイルを置くと、AirFilesの画面に何も現れない事になります。 - iPhone4.0とかやっているけど、スクリプト言語をアプリに登録してくれないかしらん?
○獄すりゃOKのようですけど。 - filesys.pyは、FTPクライアントも実装しているので、FTPサーバーを持つiPodアプリ(iComicとか)に応用が利くかも。