« [iPod touch]iPod touch用新型Dock Connector内蔵型マイク | Main | [iPod touch]iPod touchのlaunchdでコマンド/スクリプトの定期実行 »

2008.04.07

[iPod touch]safaribm2stdoutとwgetでMobile Safariのブックマークを巡回してダウンロード

2008.04.10追記:元マカーさんがsafaribm2stdoutに関するエントリを上げてくださってます。「iPod touchでローカルWeb閲覧&巡回環境を構築してみる」、「iPod touchでローカルWeb閲覧&巡回環境を構築してみる(その2)

野良リポジトリにsafaribm2stdoutというコマンドラインアプリを登録しておきました。

「Network>safaribm2stdout (1.1.3)」です。

Mobile SafariのBookmarkの、「crawling」というFolderに登録されたBookmarkのURLを標準出力(stdout)に出力するものです。

そんなことができて何がうれしいのか?
DownloaderであるWgetと併用すると幸せになれます。

#!/bin/sh
cd /var/mobile/Media/Downloads
/var/root/bin/safaribm2stdout | wget -i - -N -k -r -l 1 -np

こんな感じのシェルスクリプトをShell Script ApplicationなどにしてHome Screen Iconとして登録しておきます。

巡回したいページをMobile Safariの「crawling」というBookmarkのFolderに登録します。
「crawling」なんてFolderは無い? 最初は「crawling」などというFolderは存在しませんので、自分で作ります。(最初はRで後がLです。スペルを間違えると動かないので注意)



作ったShell Script Applicationを起動すればダウンロードが完了します。

lighttpdやiSpit、ApacheなどのLocal Web Serverを起動しておき、/var/mobile/Media/DownloadsをMobile Safariで見にいけばOK!
ダウンロード先のFolderをBookmarkしておくと楽だと思います。

Wgetに付いているoptionは以下の意味となります。

-Nタイムスタンプを見てダウンロードをするかどうか判断
-kリンクを絶対リンクから相対リンクへ書き換え
-rリンク先を再帰的に取得
-l 1再帰的に取得するリンクのホップ数を1に設定
-np上の階層のファイルをダウンロードしない

ページからリンクされた画像なども一括ダウンロードされますので、オフラインでも画像まで見られるようになります。(そのはずですが、なんかダメですね)
Wgetにはたくさんのオプションがありますので、自分の使用形態に合わせて調整してみるといいかと思います。

海上さんのOS Xハッキングでタイムリーに「いま敢えて「Wget」をリスペクト」という記事が。Wgetの素晴らしさを知らない人は読んでみてください。

http://tech.bayashi.net/svr/doc/wget.html

http://members.at.infoseek.co.jp/futora/wget153/option.html

cronで定期巡回を組むPureなCydia環境ならこちらも)のも一興かと思います。

野良リポジトリには、safarihist2stdoutというコマンドラインアプリも登録してあります。
同様にして、

#!/bin/sh
cd /var/mobile/Media/Downloads
/var/root/bin/safarihist2stdout | head -1 | wget -i - -N -k -r -l 1 -np

といったような処理内容のシェルスクリプトアプリケーションを用意すれば、Mobile Safariで最後に訪れたページをリンクされた画像等ごとダウンロードできます。

Notes/注意事項

iPod touch/iPhone用にポートされたWgetには、名前解決できるものと、できないものがあります。
野良リポジトリにある「Wget (name resolvable)」とCydia PackagerからインストールできるWgetは名前解決できます。

Erica's Ported Utilitiesに収録されているWgetは名前解決できないと思います。

|

« [iPod touch]iPod touch用新型Dock Connector内蔵型マイク | Main | [iPod touch]iPod touchのlaunchdでコマンド/スクリプトの定期実行 »

Comments

Cydiaからインストールできるlighttpdはだめだめだと思います。
またPythonもCydiaのものは、Expanded sizeが48.1MBとかとても大きいものになっています。
Cydiaからインストールできるものは、なるべくCydiaからというルールが崩れ去ってしまいました。

あと、/var/cache/apt/archivesにCydiaからインストールされたファイルが残りますが、moyashiさんはこれらをお掃除されていますか?

Posted by: ななし | 2008.04.22 at 06:42 AM

実際にはlighttpdを使っていないんですが、どうダメですか?
Cydiaのパッケージは結構マメにアップデートされているようなので、レポートすれば直してくれるかも。
nviもGCCもバスエラーかセグフォで落ちてましたけど、今は直ってますね。

CydiaのPythonにはPyObjCが用意されてますから、メリットはあるんじゃないでしょうか。

/var/cache/apt/archivesは掃除してないですねえ。
たまっているのを今知ったぐらいで。

Posted by: moyashi | 2008.04.22 at 04:05 PM

Post a comment



(Not displayed with comment.)




TrackBack

TrackBack URL for this entry:
http://app.cocolog-nifty.com/t/trackback/13760/40783048

Listed below are links to weblogs that reference [iPod touch]safaribm2stdoutとwgetでMobile Safariのブックマークを巡回してダウンロード:

« [iPod touch]iPod touch用新型Dock Connector内蔵型マイク | Main | [iPod touch]iPod touchのlaunchdでコマンド/スクリプトの定期実行 »