[ 新規に投稿する ]

ネット上の連番ファイル取り込みNo.08650
はるなぴ さん 18/03/28 18:48 [ コメントを投稿する ]
  ネット上の連番ファイルを取り込んで、ひとつのHTMLファイルに統合するマクロを書こうと思います。

何か参考になるもの、出来合いのものがありましたら、ご紹介いただけると幸いです。
[ ]
RE:08650 ネット上の連番ファイル取り込みNo.08656
秀丸担当 さん 18/03/30 10:41 [ コメントを投稿する ]
 
一般的な方法としては、vbsやjsで使われるようなMSXML2.XMLHTTPオブジェクトを使った方法があるようです。
それを秀丸マクロに書き直すと、一応秀丸エディタでもできるようになります。
ただ、書き方が面倒になるので、秀丸マクロ内で処理する必要がなければ、最初からvbsやjsだけで書いたほうがいいと思います。
あとvbs等では文字化けする問題があるようですが、秀丸マクロを使っても同じのようでした。

例:
newfile;
#obj = createobject("MSXML2.XMLHTTP");
callmethod #obj, "Open", "GET", "https://hide.maruo.co.jp/", 0;
callmethod #obj, "Send";
insert getpropstr( #obj, "responseText" );
releaseobject #obj;
endmacro;


秀丸エディタのアドインソフトのHidemarnet Explorerが入っている場合、簡単にopenfileでファイルのように開く方法があります。
例:
newfile;
openfile "/ws https://hide.maruo.co.jp/";
endmacro;

それぞれ開けたら、繋げるには普通にファイルを開いて繋げるのと同じようなことになると思います。
[ ]
RE:08656 ネット上の連番ファイル取り込みNo.08658
はるなぴ さん 18/03/30 21:34 [ コメントを投稿する ]
  はるなぴです。

丁寧なコメント、たいへんありがとうございます。

vbs、jsどちらも本格的にさわったことないので結構大変だなと思いました。またその場合、仰るように確かに秀丸マクロに無理にしなくても良さそうですね。

文字化けも困りますね。もう少し何か自分にでもできるいい手がないか考えてみます。

ありがとうございました。


>
> ......
>それぞれ開けたら、繋げるには普通にファイルを開いて繋げるのと同じようなことになると思います。
[ ]
RE:08658 ネット上の連番ファイル取り込みNo.08659
でるもんたいいじま さん 18/03/31 07:50 [ コメントを投稿する ]
  でるもんた・いいじまと申します。

wget.exe を使われてはどうでしょうか。
Linux等で頻用されるコマンドラインツールですが、
Windows版のバイナリもあって、下記にあるものがおすすめです。
https://eternallybored.org/misc/wget/

基本的な使い方ですが、コマンドラインに
wget -O xxx.html http://hide.maruo.co.jp/
のように打ってやると xxx.html に保存されます。ファイル名として
「-」(半角ハイフン1文字)を指定すると標準出力に出力されます。
進捗状況の出力(これは標準エラー出力に出るようです)が邪魔な
場合は「-q」オプションを追加します。

秀丸から使う場合は、runex を使って最小化状態で呼び出してやれば
うまくいくと思います。ただ、もしネット上のファイルの文字コードが
EUC-JP の場合、標準出力経由で取り込むには nkf とか iconv とかで
文字コード変換をする必要がありそうです。

あと、URL中に「%」を含む場合は、秀丸の V8.73 以降を利用することを
強くお勧めします。どうしても古いバージョンを使わなければいけない
場合は、自前で「%b」「%d」「%f」という文字列への大作をする必要が
あります。

ではでは。
[ ]
RE:08659 ネット上の連番ファイル取り込みNo.08660
はるなぴ さん 18/03/31 10:03 [ コメントを投稿する ]
  ありがとうございます。大変参考になります!

Windows版のwgetがあるんですね…知りませんでした!

これならいけそうという気がしてきました。

秀丸エディタのバージョンは8.79に上げてあります。
また取りたいURLにはピュニコードのように%は入っていませんので大丈夫そうです。

文字コードもたぶんUTF8だけだと思います。

runexでトライしてみます!

>でるもんた・いいじまと申します。
> ......
>ではでは。
[ ]
RE:08660 ネット上の連番ファイル取り込みNo.08661
でるもんたいいじま さん 18/03/31 10:19 [ コメントを投稿する ]
  でるもんた・いいじまです。

> ありがとうございます。大変参考になります!

恐れ入ります。

> Windows版のwgetがあるんですね…知りませんでした!
> これならいけそうという気がしてきました。

「wget Windows」で検索するといちばん上にGNUWin32プロジェクトの
ものがヒットするのですが、これはかなり古いバージョンで、httpsに
最近使われている暗号形式をサポートしていません。なので、前回の
投稿でご紹介したバージョンがおすすめです。

wgetに限らず、大抵のUNIX系ツールはWindows版のバイナリがあります
から(体系的なものとしてはCygwinとかmsysとかですが、それらとは
独立に動いているものも多々あります;ActivePerlなんかが後者の
最たるものですね)、必要ならさがしてみるのが肝心です。

> 文字コードもたぶんUTF8だけだと思います。
> runexでトライしてみます!

そうですか。それはよかった。
がんばってください。
[ ]
RE:08661 ネット上の連番ファイル取り込みNo.08662
はるなぴ さん 18/03/31 20:07 [ コメントを投稿する ]
  はるなぴです。

重ね重ねありがとうございます。

>「wget Windows」で検索するといちばん上にGNUWin32プロジェクトの
>ものがヒットするのですが、これはかなり古いバージョンで、httpsに
>最近使われている暗号形式をサポートしていません。なので、前回の
>投稿でご紹介したバージョンがおすすめです。

ありがとうございます。検索してみたらいろいろなものが発見されたのでどれがいいのか迷っていたところです。

Chocolateyを使用してインストールするのが楽かと思っていまして、GNUのwget 1.19.4を入れることになりそうです。

https://chocolatey.org/packages/Wget

Curlという手もあるかと気づいたのですが、何故かCurlはChocolateyでインストールしようとするとWindows10でエラーが出てしまいました。

なのでこれからwgetをインストールしようとしているところです。

大変参考になりました。ありがとうございます。
[ ]

[ 新規に投稿する ]