「photoxp2.dms」の版間の差分

提供: Yourpedia
移動: 案内検索
(リファラ自動設定するように改良)
1行目: 1行目:
[[Irvine]]を使って[[photoxp]]を使った[[画像掲示板]]の画像を落とすためのスクリプト。サムネイル画像が表示されるページから「IrvineへすべてのURLを送る」で使う。
+
[[Irvine]]を使って[[photoxp]]を使った[[画像掲示板]]の画像を落とすためのスクリプト。サムネイル画像が表示されるページから「IrvineへすべてのURLを送る」で使う。2.0αにも対応。
 
#[ttp://mxmkitchen.com/2009/03/13/2357.php ここ]からIrvineとDorothy2.zipをDL、インストールする
 
#[ttp://mxmkitchen.com/2009/03/13/2357.php ここ]からIrvineとDorothy2.zipをDL、インストールする
 
#「(Irvineが有るフォルダ)¥Dorothy2¥program¥」に「photoxp2.dms」を以下の内容で作成する
 
#「(Irvineが有るフォルダ)¥Dorothy2¥program¥」に「photoxp2.dms」を以下の内容で作成する
9行目: 9行目:
 
//Dorothy2
 
//Dorothy2
 
//caption=photoxp(汎用)
 
//caption=photoxp(汎用)
//version=0.01
+
//version=0.02
 
//hint=サムネイル一覧ページからURLを渡してください
 
//hint=サムネイル一覧ページからURLを渡してください
//match=photoxp
+
//match=photoxp[.]
 
//author=Abcdefgh
 
//author=Abcdefgh
 
//path=program
 
//path=program
17行目: 17行目:
 
//end
 
//end
 
//created 20,Jan.,2011 by Abcdefgh
 
//created 20,Jan.,2011 by Abcdefgh
 +
//modified 03,Apr.,2011 by Abcdefgh
 
//ファイル名の単純変換が不可能な場合が多い為
 
//ファイル名の単純変換が不可能な場合が多い為
  
22行目: 23行目:
 
println('photoxp2.dms start');
 
println('photoxp2.dms start');
 
// 画像紹介ページをダウンロード
 
// 画像紹介ページをダウンロード
 +
var url = new URL(urlinfo.url);
 +
var ohost = url.scheme + '://' + url.host;
 
common_load('download');
 
common_load('download');
 
var http = download(urlinfo.url);
 
var http = download(urlinfo.url);
28行目: 31行目:
 
}
 
}
 
// プレビュー画像ページが存在する場合
 
// プレビュー画像ページが存在する場合
if (http.data.match(/<A href=\"([^"]+large_picture[^"]+)\"/)) {
+
if (http.data.match(/<A href=\"([^"]+large_picture[^"]+)\"/i)) {
 
var title=RegExp.$1.replace(/amp;/g,"");
 
var title=RegExp.$1.replace(/amp;/g,"");
 +
if( !title.match(/http:\/\//) )
 +
title = ohost + title;
 
var url = new URL(title);
 
var url = new URL(title);
 
urlinfo.url = url.url;
 
urlinfo.url = url.url;
42行目: 47行目:
 
headers.Referer = urlinfo.url;
 
headers.Referer = urlinfo.url;
 
// 本画像URLを抽出
 
// 本画像URLを抽出
if (!http.data.match(/<A href=\"([^"]+\/image\/[^"]+)\"/)) {
+
if (!http.data.match(/<A href=\"([^"]+\/image\/[^"]+)\"/i)) {
 
println('error---> オリジナルサイズの画像が見つかりません');
 
println('error---> オリジナルサイズの画像が見つかりません');
 
exit();
 
exit();
 
}
 
}
 
var title=RegExp.$1;
 
var title=RegExp.$1;
 +
if( !title.match(/http:\/\//) )
 +
title = ohost + title;
  
 
var url = new URL(title);
 
var url = new URL(title);

2011年4月4日 (月) 09:04時点における版

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;
}