「flickr.dms」の版間の差分
提供: Yourpedia
細 (もっと簡素化) |
細 (更に簡素化) |
||
8行目: | 8行目: | ||
//Dorothy2 | //Dorothy2 | ||
//caption=Flickr | //caption=Flickr | ||
− | //version=0. | + | //version=0.06 |
//hint=「All Sizes」ボタンがあるページのURLを渡してください | //hint=「All Sizes」ボタンがあるページのURLを渡してください | ||
//match=http://www.flickr.com/photos/ | //match=http://www.flickr.com/photos/ | ||
20行目: | 20行目: | ||
//modified 23,Dec.,2010 by Abcdefgh | //modified 23,Dec.,2010 by Abcdefgh | ||
//modified 09,Jan.,2011 by Abcdefgh | //modified 09,Jan.,2011 by Abcdefgh | ||
+ | //modified 30,Jan.,2011 by Abcdefgh | ||
function(){ | function(){ | ||
71行目: | 72行目: | ||
//単純変換が可能なケース | //単純変換が可能なケース | ||
if ( (fileno <= 405890964) && (username != 'mboogiedown') ){ | if ( (fileno <= 405890964) && (username != 'mboogiedown') ){ | ||
− | + | var title = title.replace(/(_[mboz])?(_d)?[.]([^\/]+)$/ , "_o$2.$3"); | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
} | } | ||
82行目: | 79行目: | ||
headers.host = url.host; | headers.host = url.host; | ||
− | // | + | //ファイル名を抽出 |
− | if (!title.match(/([ | + | if (!title.match(/([^\/?]+)([?].+)?$/)) { |
− | println('error---> | + | println('error---> ファイル名が見つかりません'); |
exit(); | exit(); | ||
} | } | ||
− | |||
Dorothy.fileName = RegExp.$1; | Dorothy.fileName = RegExp.$1; | ||
− | |||
} | } | ||
</nowiki></pre> | </nowiki></pre> | ||
[[Category:Irvine用スクリプト]] | [[Category:Irvine用スクリプト]] |
2011年1月30日 (日) 08:59時点における版
Irvineを使ってFlickrの画像を落とすためのスクリプト。「All Sizes」のページが無かったり、有っても「The owner has disabled downloading of their photos」(本オーナーは本画像のDLを拒否する)の標記が有る画像には使えないにも使える(出来るだけ大きい画像、VGA以上)(2007年2月28日以前に送信された画像はほぼ無条件に本画像をDLする)様に改良。
- [ttp://mxmkitchen.com/2009/03/13/2357.php ここ]からIrvineとDorothy2.zipをDL、インストールする
- 「(Irvineが有るフォルダ)¥Dorothy2¥program¥flickr.dms」を以下の内容で上書きする
- Irvineを起動後、上記サイトに出てる設定を行う
- 後は上記サイトの説明通り
//Dorothy2 //caption=Flickr //version=0.06 //hint=「All Sizes」ボタンがあるページのURLを渡してください //match=http://www.flickr.com/photos/ //author=nanasi //path=program //priority=500 //end //rebooted 17,Dec.,2010 by Abcdefgh //modified 18,Dec.,2010 by Abcdefgh //modified 21,Dec.,2010 by Abcdefgh //modified 23,Dec.,2010 by Abcdefgh //modified 09,Jan.,2011 by Abcdefgh //modified 30,Jan.,2011 by Abcdefgh function(){ println('flickr.dms start'); // 渡されたURLをALL SIZESページのURLに変換 var title = urlinfo.url.match(/.+photos\/([^\/]+)\/([0-9]+)\//); if (!title) { println('error---> ALL SIZESページURLが見つかりません'); exit(); } title += 'sizes/o'; var username = RegExp.$1; var fileno = RegExp.$2; var url = new URL(title); urlinfo.url = url.url; headers.host = url.host; // ALL SIZESページをダウンロード common_load('download'); var http = download(urlinfo.url); if( (http.responseHeader.code != 200) && (http.responseHeader.code != 302) ){ return retry('error--->' + http.responseHeader.code); } if(http.responseHeader.code == 302){ //最大サイズのプレビュー画像(VGA~XGA)ページをダウンロード var url = new URL('http://www.flickr.com' + http.responseHeader.location); 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); } } //画像URLを取得 if (!http.data.match(/<a href=\"([^"]+_?[mboz]?_d[.][^"]+)/)) { // このページはオリジナルサイズではない if (!http.data.match(/<img src=\"([^"]+farm[^"]+)/)) { println('error---> 大きなサイズの画像が見つかりません'); exit(); } } var title=RegExp.$1; if ( (!title.match(/_[mbdoz][.]/)) ){ var title = title.replace(/[.]jpg/ , "_z.jpg"); } //単純変換が可能なケース if ( (fileno <= 405890964) && (username != 'mboogiedown') ){ var title = title.replace(/(_[mboz])?(_d)?[.]([^\/]+)$/ , "_o$2.$3"); } var url = new URL(title); urlinfo.url = url.url; headers.host = url.host; //ファイル名を抽出 if (!title.match(/([^\/?]+)([?].+)?$/)) { println('error---> ファイル名が見つかりません'); exit(); } Dorothy.fileName = RegExp.$1; }