●Site Collector
  Ver:1.4
  形式:Html
  言語:Ajax, PHP
  環境:IE6, Firefox, wget, PHP4, MySQL
  備考:自己責任で利用すること。


■概要
  wgetを利用してサイトを丸ごと収集し、サーバ上に保存するスクリプトで
 す。収集後、zipによる圧縮ファイルやmhtアーカイブファイルを作成するこ
 とで、1ファイルのダウンロードでサイトを丸ごとダウンロードできます。
  サーバ上で処理を行うため、wgetやzipは高速に処理されます。AIR-EDGE
 接続においても高速にコンテンツを収集し、オフラインで楽しむために作成
 しました。
 
  ⇒ Download


■注意
  このツールを利用してwgetを行うと、サーバ上にミラーサイトができるこ
 とになります。また、サイトのデータを一気に取得するため、通信量も大き
 くなります。それに、クエリをそのままコマンドに渡しているので、セキュ
 リティ上も問題を含んでいます。
  そのため、ベーシック認証などで特定の個人のみが利用するようにしてく
 ださい。
 

■画面
【sitecollect.html表示(Ajax利用)】
 Site Collector画面
 
【sitecollect.php表示(スクリプト単体)】
 Site Collector画面

【入力項目】
 ・URL     :対象サイトのURLを入力します。必須。
 ・タイトル  :対象サイトのタイトルを入力します。任意。
         (未入力の場合はURLからタイトルを取得する)
 ・コメント  :対象サイトのコメントを入力します。任意。
 ・wget実行  :URLを対象としてwgetを実行します。
 ・タイトル取得:URLのタイトルを取得します。
 ・再表示   :リストを再表示します
 ・更新チェック:再表示の際、日付から状況を判断し、更新に表示します。
 ・全URL取得  :全URLを対象としてwgetを実行します。
 
【リスト】
 ・リンク :対象サイトへのリンクです。
 ・ローカル:サーバ上のデータへのリンクです。
 ・Zip   :サーバ上のデータをzip圧縮し、ダウンロードします。
 ・Mht   :サーバ上のデータをmht化し、ダウンロードします。
 ・削除  :サーバ上のデータを削除します。
 ・設定  :サイトのURL、タイトル、コメントを入力項目に設定します。
 ・更新  :再度wgetを実行します。
       (更新があった場合、リンクが表示されます)


■設定
【構成ファイル】
 ・sitecollect.html  :操作画面
 ・site_list.xsl     :リスト表示用XSL
 ・sitecollect.php   :処理スクリプト
 ・site_list.sql     :テーブル作成用SQL
 ・prototype-1.4.0.js:JavaScript ライブラリ
            (リンク先から入手してください)

【sitecollect.phpの設定】
 ・SAVE_DIR:保存ディレクトリ
 ・DB_HOST :DBホスト
 ・DB_USER :DBユーザー
 ・DB_PASS :DBパスワード
 ・DB_NAME :DB名
 ・WGET_CMD:wgetコマンドのパス
 ・RM_CMD  :rmコマンドのパス
 ・ZIP_CMD :zipコマンドのパス
 ・LS_CMD  :lsコマンドのパス
  (コマンドのパスの初期値はさくらのレンタルサーバのものです)

【設置法】
  sitecollect.phpの設定を記述した後、site_list.sql以外をサーバにアッ
 プロードし、ディレクトリおよびファイルのパーミッションを適切な値に設
 定してください(755にしておけばおそらく問題はありません)。
  PHPの環境によっては、sitecollect.phpの1行目<?を<?phpに修正
 してください。
  また、MySQLでsite_list.sqlを実行し、site_listテーブルを作成してく
 ださい。


■コマンドの使用オプション
 以下、スクリプト内で使用しているコマンドオプション。

【wget】
 ・-b  :バックグランドで実行する
 ・-r  :リンクの再帰的取得を行う
 ・-k  :絶対リンクを相対リンクに置換する
 ・-np :親ディレクトリは参照しない
 ・-q  :ログファイルを出力しない
 ・-t 3:三回ダウンロードを試みる
 ・-S  :レスポンスヘッダーを表示する
 ・-N  :タイムスタンプを付ける
 ・-a wget.log:ログファイルの指定
 ・-P ".SAVE_DIR.":SAVE_DIRを保存ディレクトリとする
 ・-D".$domain[host].":$domain[host]ドメインを取得対象とする

【zip】
 ・-9:圧縮率最大
 ・-r:ディレクトリ内を再帰的に圧縮を行う
 
【rm】
 ・-r:ディレクトリ内を再帰的に削除を行う
 ・-f:強制削除


■ブックマークレット
  以下のリンクから、現在のURLをクエリ文字列として任意のサイトへ遷移
 するブックマークレットが作成できます。
  作成されたリンクをブックマークに登録することで、簡単にURLを渡すこ
 とができます。

  ⇒ URLをクエリとする任意サイトへのブックマークレット

 入力例
  ・直接wgetを実行する
    URL:http://path/sitecollect.php?mode=wget&url=
  ・URLを初期値として画面を表示する
    URL:http://path/sitecollect.html?url=


■履歴
 ・2006/07/05新規 Ver1.0
 ・2006/07/06修正 Ver1.1
  ・ディレクトリ作成の際もチルダを変換するように修正
 ・2006/07/13修正 Ver1.2
  ・圧縮ファイル名はチルダに戻すように修正
 ・2006/07/14修正 Ver1.3
  ・クエリからURL、タイトル、コメントを取得する
  ・wget時にタイトル未入力の場合、URLからタイトルを取得する
 ・2006/07/31修正 Ver1.4
  ・wgetのDB登録時、ディレクトリが作成されるまで10秒待つ
  ・mhtのsubjectにタイトルを設定(ajax時のみ)
【 Back 】