[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でコマンド/スクリプトの定期実行 »
Recent Comments