Page 121 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼開いているURLが画像のものを保存 にゃ〜 05/11/15(火) 11:06 ┣Re:開いているURLが画像のものを保存 YAma 05/11/15(火) 20:21 ┃ ┣Re:開いているURLが画像のものを保存 にゃ〜 05/11/16(水) 8:15 ┃ ┃ ┗Re:開いているURLが画像のものを保存 YAma 05/11/16(水) 23:03 ┃ ┃ ┗Re:開いているURLが画像のものを保存 にゃ〜 05/11/17(木) 13:10 ┃ ┃ ┣Re:開いているURLが画像のものを保存 EG6+ 05/11/17(木) 13:23 ┃ ┃ ┗Re:開いているURLが画像のものを保存 YAma 05/11/18(金) 17:10 ┃ ┃ ┗Re:開いているURLが画像のものを保存 にゃ〜 05/11/19(土) 13:34 ┃ ┣Re:開いているURLが画像のものを保存への質問なのですが? nukesaku 06/1/30(月) 3:12 ┃ ┗Re:開いているURLが画像のものを保存 こころく 06/5/21(日) 14:31 ┃ ┗Re:開いているURLが画像のものを保存 じゃで 06/5/22(月) 10:54 ┗Re:開いているURLが画像のものを保存 あり 06/6/8(木) 9:29 ─────────────────────────────────────── ■題名 : 開いているURLが画像のものを保存 ■名前 : にゃ〜 ■日付 : 05/11/15(火) 11:06 -------------------------------------------------------------------------
多数のスクリプト 便利に使わせてもらっています。 希望ですが 「開いているURLが画像のものを保存」ってのは難しいのでしょうか? 開いた画像を一つ一つ保存するのも、それなりに面倒で・・・。 機能としては ・タブで開いているURLが「.jpg (.jpeg)」「.gif」「 .png」のファイルを保存する。 ・ファイル名が重複している場合は、リネームして保存する。 ・保存エラーはログファイルへの吐き出し or ダイアログ表示(明細付)を選択できる。 あと、あると嬉しいのは、 ・タブで開いているURLが「.jpg (.jpeg)」「.gif」「 .png」のタブを閉じる。 です。 「開いているURLがJpegのものをダウンロード」もありがたいのですが、 ・.gifや.pngも保存したい ・一度開いたものをわざわざ、DLするのも二度手間 流れている場合もありますし、先方鯖に負荷がかかるかと。 ・開いているファイルがDLできない サイトによってはサムネイルをDLしてくる場合があります。 と、当方には少々扱いづらいところがありまして。 横着用スクリプトですが、なにとぞご検討をお願いします。 |
>機能としては >・タブで開いているURLが「.jpg (.jpeg)」「.gif」「 .png」のファイルを保存する。 >・ファイル名が重複している場合は、リネームして保存する。 >・保存エラーはログファイルへの吐き出し or ダイアログ表示(明細付)を選択できる。 この機能に関しては、「開いているURLがJpegのものをダウンロード Rel5」にて実装済み、もしくは少しの改造で満たせると思います。 // 拡張子でJPEG判断 if((ext==".jpg")||(ext==".jpeg")) { この行を // 拡張子で画像判断 if((ext==".jpg")||(ext==".jpeg")||(ext==".png")||(ext==".gif")) { と、希望の拡張子を追加すれば問題ないと思います。 >あと、あると嬉しいのは、 >・タブで開いているURLが「.jpg (.jpeg)」「.gif」「 .png」のタブを閉じる。 これに関しては、別途スクリプトを組む必要がありますね。 >・一度開いたものをわざわざ、DLするのも二度手間 > 流れている場合もありますし、先方鯖に負荷がかかるかと。 > >・開いているファイルがDLできない > サイトによってはサムネイルをDLしてくる場合があります。 これに関してですが、文章から察するにリンク抽出+ダウンローダーの 組み合わせで対応可能なのではないでしょうか? |
早速のご指導ありがとうございます。 >この行を >// 拡張子で画像判断 >if((ext==".jpg")||(ext==".jpeg")||(ext==".png")||(ext==".gif")) { > >と、希望の拡張子を追加すれば問題ないと思います。 素人の勘でいじってみたのですが、socketエラーがでていたので、 吐き出し方法が異なるのかと思っていました。 やはり当方の記述がまちがっていた様です。ありがとうございます。 (テストでのローカルDISKからのファイルだったのかも知れませんね) >>・一度開いたものをわざわざ、DLするのも二度手間 >> 流れている場合もありますし、先方鯖に負荷がかかるかと。 >> >>・開いているファイルがDLできない >> サイトによってはサムネイルをDLしてくる場合があります。 > >これに関してですが、文章から察するにリンク抽出+ダウンローダーの >組み合わせで対応可能なのではないでしょうか? 現在の使用状況を説明いたしますと、 BBS等で画像の閲覧→欲しい画像をクリックして、新規タブで開く を繰り返します。 ↓ ある程度溜まったところで、「開いているURLが〜 Rel5」を実行します。 ↓ DLができたところで、「現在より右のタブを閉じる」scpで、不要なタブを閉じます。 結果としては必要なファイルが保存できるのですが、 一度開いてタブ上にあるのに再度DLするのは、非効率的?と思ったわけでして。 状況によっては、必要なファイルが既に流れてしまっていることもあり、 結局、手元のタブから右クリックで「画像を保存する」を使用することになります。 また、ダウンローダーの使用は、ネット倫理上控えたいサイト(BBSなど)もあります。 リンク抽出+DLローダーを使用して、新しく「DLする」のではなく、 すでに複数のタブ上にある画像ファイルを「保存」できるSCP と言うことです。 >>あと、あると嬉しいのは、 >>・タブで開いているURLが「.jpg (.jpeg)」「.gif」「 .png」のタブを閉じる。 > >これに関しては、別途スクリプトを組む必要がありますね。 上記の様な使い方をしているので、こんな希望になりました。 (職場で、いけいない閲覧をしている人にも便利かと(苦笑)) 見れば見るほど、横着用SCPですね。 あいすいませんが、ご検討のほどよろしくお願いいたします。 |
とりあえず、開いているURLがJPEGのものをダウンロードのスクリプトを改造し ダウンロードではなく、キャッシュフォルダからコピーするようにしているのですが 今のところうまくいきません・・・・ 下がソースなのですが、コメントどおり var sFolder = new Enumerator(Shell.NameSpace(32).Items()); //←ここでエラー この箇所でエラーになります。 この部分だけを、JScriptにして実行すると、動くのですが・・・・ //開いているURLが画像のものをキャッシュフォルダからコピー // author : EG6+ // 改造 : YAma // release 1 BUF_SIZE = 8192; class ProgressDlg extends VCLForm { var BugWeb; var SavePath; var lblMsg; // label var pgsBar; // progressbar function ProgressDlg() { // this borderstyle = 3; // bsDialog caption = "ダウンロード"; clientheight = 71; clientwidth = 414; position = 4; // poScreenCenter // label lblMsg = new VCLLabel(this); lblMsg.left = 16; lblMsg.top = 16; lblMsg.width = 33; lblMsg.height = 12; lblMsg.caption = ""; // progressbar pgsBar = new VCLProgressBar(this); pgsBar.left = 16; pgsBar.top = 40; pgsBar.width = 385; pgsBar.height = 17; pgsBar.min = 0; pgsBar.max = 100; pgsBar.smooth = true; BugWeb = new ActiveXObject("BugWeb.BugBrowserAPI"); } function selectFolder() { // 保存先フォルダを選択 var Dlg = new Dialog; SavePath = Dlg.openFolder("保存先フォルダを選択してください。",'C:\'); if(SavePath == null) return false; if(SavePath == "") return false; return true; } function download() { var Log = new Strings; var LogStr; var idx; var f; var HttpObj; var DocObj; var UrlObj; var TargetFile; var ext; var len,readlen; var buf; // キャッシュフォルダ情報 var Shell = new ActiveXObject("Shell.Application"); var sFolder = new Enumerator(Shell.NameSpace(32).Items()); //←ここでエラー for(idx=BugWeb.DocumentCount-1;idx>=0;idx--) { DocObj = BugWeb.CreateDocumentViewObject(BugWeb.DocumentView[idx]); UrlObj = new URL(DocObj.URL); TargetFile = new FileEx(SavePath + '\' + UrlObj.filename); // 拡張子を取り出す&小文字に変換 ext = TargetFile.extractExt(); ext = ext.toLowerCase(); // 拡張子で画像判断(JPEG、GIF、PNGのみ) if((ext==".jpg")||(ext==".jpeg")||(ext==".gif")||(ext==".png")) { pgsBar.position = 0; // ダウンロード先ファイルの存在チェック if(TargetFile.exists()) { // 存在している場合、別ファイル名にする TargetFile.filename = TargetFile.notExistsFileName(); lblMsg.caption = UrlObj.filename + " を、" + TargetFile.extractName() + " にリネームしてダウンロード中・・・"; LogStr = UrlObj.filename + " -> " + TargetFile.extractName(); }else{ lblMsg.caption = UrlObj.filename + " をダウンロード中・・・"; LogStr = UrlObj.filename; } repaint(); //キャッシュから該当ファイルを見つける for(sFolder.moveFirst();!sFolder.atEnd;sFolder.moveNext){ if(sFolder.item().Path == UrlObj.filename){ //ファイルをコピー sFolder.item().Copy(TargetFile.filename); } } } } // ログ保存 if(Log.count > 0) { Log.saveToFile(SavePath + '\DlJpeg.log'); } } } class FileEx extends File { // 拡張子を除いたfilenameを返す function extractNoExt() { tmp = this.filename; for(idx=tmp.length-1;idx>=0;idx--) { if(tmp[idx]=='.') { return tmp.substring(0,idx); } } } // 存在していないファイルにリネーム function notExistsFileName() { // 小文字に変換 fname = filename.toLowerCase(); fext = extractExt(); fext = fext.toLowerCase(); // 拡張子削除 fname = fname.replace(fext,""); findfile = new FileEx(fname + "_0" + fext); cnt = 0; while(findfile.exists()) { cnt++; findfile.filename = fname + "_" + cnt.toString() + fext; } return findfile.extractNoExt() + fext; } } // IEのProxyを得る function GetInternetExplorerProxy() { var reg = new RegIni('\Software\Microsoft\Windows\CurrentVersion'); return reg.read('Internet Settings','ProxyServer',''); } // script main var Form = new ProgressDlg; if(Form.selectFolder()) { Form.show(); Form.download(); } |
早速の作成 ありがとうございます。 >今のところ 当方の環境でも同様でした。 私はSCP(てか、開発言語は全部(恥))は全くわかりませんが、 ブラウザとファイラーの切り分けがうまくいかないために、フォルダを開けられない と言うのは、ズレてますか? BugBrowserにフォルダをドロップすると、開いたタブはファイラー (エクスプローラー)として開いています。 BugBrowserがローカルのフォルダにアクセスした時点で、ブラウザからファイラーに切り替わる。 そのため、ブラウザ用のSCPが走らず、その先のSTEPに進まないのではないかと言う事です。 もしくは function download() ですと、WEB手順(httpとかftp?)でのアクセスなので、 フォルダを開けられない とか。 素人の私ではこんな程度です。 もそっと簡単そうに思ったんですけど、甘かったですね。 VB-SCPを入れ子するなり、VB-SCPに明細ファイルを渡すなりする必要がありそうです。 「めんど〜なので、また今度」で結構です。お手数掛けてすいませんでした。Orz PS:これからもお願いすることがあるかも知れませんが、よろしくお願いいたします。 |
▼にゃ〜さん: >早速の作成 ありがとうございます。 > >>今のところ > >当方の環境でも同様でした。 > >私はSCP(てか、開発言語は全部(恥))は全くわかりませんが、 >ブラウザとファイラーの切り分けがうまくいかないために、フォルダを開けられない >と言うのは、ズレてますか? > >BugBrowserにフォルダをドロップすると、開いたタブはファイラー >(エクスプローラー)として開いています。 > >BugBrowserがローカルのフォルダにアクセスした時点で、ブラウザからファイラーに切り替わる。 >そのため、ブラウザ用のSCPが走らず、その先のSTEPに進まないのではないかと言う事です。 > >もしくは >function download() ですと、WEB手順(httpとかftp?)でのアクセスなので、 >フォルダを開けられない とか。 > >素人の私ではこんな程度です。 > >もそっと簡単そうに思ったんですけど、甘かったですね。 >VB-SCPを入れ子するなり、VB-SCPに明細ファイルを渡すなりする必要がありそうです。 >「めんど〜なので、また今度」で結構です。お手数掛けてすいませんでした。Orz > >PS:これからもお願いすることがあるかも知れませんが、よろしくお願いいたします。 スクリプトの限界もあるので アドインとして直接EXE,DLLを実行できるようにすることも検討しています。 |
上記のDMonky版をJScript版に変更してみましたが、今度はファイルコピーで躓きました。 VBScriptに移植すれば、機能は実現できそうですが、力尽きました・・・・ |
>アドインとして直接EXE,DLLを実行できるようにすることも検討しています。 >VBScriptに移植すれば、機能は実現できそうですが、力尽きました・・・・ お手数掛けまして あいすいません。(-_-;) なにしろ使い勝手の良いブラウザなので、期待することもつい多くなってしまいます。 機能が実現することを 座してまっております。 いろいろご助力 ありがとうございました。 |
「開いているURLがJpegのものをダウンロード Rel5」は、何処に在るのでしょうか? ぜひ、教えてください。 |
>>機能としては >>・タブで開いているURLが「.jpg (.jpeg)」「.gif」「 .png」のファイルを保存する。 >>・ファイル名が重複している場合は、リネームして保存する。 >>・保存エラーはログファイルへの吐き出し or ダイアログ表示(明細付)を選択できる。 > >この機能に関しては、「開いているURLがJpegのものをダウンロード Rel5」にて実装済み、もしくは少しの改造で満たせると思います。 > >// 拡張子でJPEG判断 >if((ext==".jpg")||(ext==".jpeg")) { > >この行を >// 拡張子で画像判断 >if((ext==".jpg")||(ext==".jpeg")||(ext==".png")||(ext==".gif")) { > >と、希望の拡張子を追加すれば問題ないと思います。 > > とありますが、僕もこの機能使いたいのですが、 どこでなにをどうすれば良いかわかりません。 初心者以下なので失礼ですがわかりやすく教えてください! |
v4.11 |
「開いているURLがJpegのものをダウンロード Rel5」を実行すると 「Error : EScocketError 「 OK 」 」 というエラーが出てダウンロードができません。 問題回避策はあるのでしょうか? Windows 2000 IE 6.0 SP1 Bugweb 5.12.644 |