「photoxp2.dms」の版間の差分

提供: Yourpedia
移動: 案内検索
(Mario Yonezawa (トーク) による編集を Abcdefgh による直前の版へ差し戻しました)
 
(他の1人の利用者による、間の1版が非表示)
(相違点なし)

2019年2月8日 (金) 20:49時点における最新版

Irvineを使ってphotoxpを使った画像掲示板の画像を落とすためのスクリプト。サムネイル画像が表示されるページから「IrvineへすべてのURLを送る」で使う。2.0αにも対応。

  1. [ttp://mxmkitchen.com/2009/03/13/2357.php ここ]からIrvineとDorothy2.zipをDL、インストールする
  2. 「(Irvineが有るフォルダ)¥Dorothy2¥program¥」に「photoxp2.dms」を以下の内容で作成する
  3. Irvineを起動後、上記サイトに出てる設定を行う
    1. 「ツール」→「メインメニュー」→「動画ダウンロード2設定」で「photoxp(汎用)」にチェックを入れて、「ファイル」→「保存して終了」をクリック、それ以外は同様
  4. 後は、ほぼ上記サイトの説明通り
//Dorothy2
//caption=photoxp(汎用)
//version=0.02
//hint=サムネイル一覧ページからURLを渡してください
//match=photoxp[.]
//author=Abcdefgh
//path=program
//priority=500
//end
//created 20,Jan.,2011 by Abcdefgh
//modified 03,Apr.,2011 by Abcdefgh
//ファイル名の単純変換が不可能な場合が多い為

function(){
	println('photoxp2.dms start');
	// 画像紹介ページをダウンロード
	var url = new URL(urlinfo.url);
	var ohost = url.scheme + '://' + url.host;
	common_load('download');
	var http = download(urlinfo.url);
	if(http.responseHeader.code != 200){
		return retry('error--->' + http.responseHeader.code);
	}
	// プレビュー画像ページが存在する場合
	if (http.data.match(/<A href=\"([^"]+large_picture[^"]+)\"/i)) {
		var title=RegExp.$1.replace(/amp;/g,"");
		if( !title.match(/http:\/\//) )
			title = ohost + title;
		var url = new URL(title);
		urlinfo.url = url.url;
		headers.host = url.host;
		// プレビュー画像ページをダウンロード
		common_load('download');
		var http = download(urlinfo.url);
		if(http.responseHeader.code != 200){
			return retry('error--->' + http.responseHeader.code);
		}
	}
	headers.Referer = urlinfo.url;
	// 本画像URLを抽出
	if (!http.data.match(/<A href=\"([^"]+\/image\/[^"]+)\"/i)) {
		println('error---> オリジナルサイズの画像が見つかりません');
		exit();
	}
	var title=RegExp.$1;
	if( !title.match(/http:\/\//) )
		title = ohost + title;

	var url = new URL(title);
	urlinfo.url = url.url;
	headers.host = url.host;
	//ファイル名を抽出
	if (!title.match(/([^\/]+)$/)) {
		println('error---> ファイル名が見つかりません');
		exit();
	}
	title=unescape(RegExp.$1).fromEUCtoSJIS();
	Dorothy.fileName = title;
}