2013年03月16日

「小説を読もう!」「小説家になろう!」一括ダウンローダ ver 2.30



ver2.30を作成しました。
・ファイル名の指定を、日付を後付けする方式から、${title}${author}のような形式に変えました。
 一度ファイル名の設定がクリアされますので、再度設定してください。
 昔の方式が良い人は、ver2.29とかを使用してください。
・無職転生がダウンロードできないということでしたので対応しました。
 インデックスページの日付がない人物紹介が想定外でした。
・一部のデフォルトを変えましたが、バージョンアップデータを使う人には関係ないです。

◆ver2.xからのバージョンアップ用(NovelDLフォルダをそのまま上書きしてください)
NovelDL_v2_30_bin_update.zip
※上書きの前に、バックアップをお勧めします。
※ver2.xの上書き以外だと、DBがないので動きません。

◆プログラム(新しく使う人 or ver1.xからの上書き)
NovelDL_v2_30_bin.zip

◆ソースコード
NovelDL_v2_30_src.zip

posted by w033 at 10:19| 東京 ☀| Comment(29) | TrackBack(0) | プログラム | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
無事に『無職転生 - 異世界行ったら本気だす -』がダウンロードできました。

対応ありがとうございます。


書籍化による作品削除、あるいは作品ダイジェスト化の波が押し寄せる中、私のような貧乏活字中毒者では、書籍化された作品(しかも一冊一冊が高い!)をそろえていたら、あっというまに破産です。

本サイトのアプリの存在に感激と感謝を!!
Posted by ケンタのチキンは腐乱のチキン at 2013年03月16日 18:31
続投すみません。

先ほど一括ダウンロードしたところ、幾つかの作品にてエラーがでたので調べたところ、エラーの出た作品は投稿削除されていました。

特に、小説家になろうランキングの常連『へっぽこ鬼日記』も何時の間にか投稿削除されていたのには驚愕です。しかも同作者で商業文庫された『ジュディハピ』も消えてきました。作者様、あなた一体なにをしたのですか……

本アプリでバックアップをしておいて、心の底から安堵しました。
Posted by ケンタのチキンは腐乱のチキン at 2013年03月16日 20:22
うわっ、本当に消えてますね。。。
最近書き直していたのは、そういう理由だったのでしょうか。
私もバックアップとっていてよかった(苦笑)
最近、本屋のらのべコーナーにいくと、なろうで見たことがある本ばかりでうれしいような、残念なような。
完結するのもうれしい反面、残念なのに似ているか、、、似てないか。
Posted by 管理人 at 2013年03月17日 00:40
へっぽこ鬼日記は、運営による削除ですよ。
かなり前に、作者が複垢で自演レビューとかしてたらしいです。
通報だったか、2chだったか何でかは忘れましたが、特定されたようですね。
あと、このVerを使うと設定してもファイル名は大丈夫なんですが
なぜかフォルダ名が反映されません……
フォルダ名の設定はできないんでしょうか?

Posted by at 2013年03月23日 13:57
>鬼
おおぉぉぉ。。。残念すぎる。
ネットの一意性なんて、有って無いようなものなのだから、警告くらいで済ませてくれればいいのに。
すでに、そうした後なのかもしれませんが。

>フォルダ
開発環境を再インストールしている途中なので、余裕があったら直しておきます。
自分が使わないから、気がつきませんでした orz
Posted by 管理人 at 2013年03月23日 20:34
よければなんですが……
ダウンロードのタブに検索機能を付けられないでしょうか。
フィルタでいちいち設定するのではなく
文字検索程度でいいんですが……
項目が200を超えると素で探すのは見落としやすいので、あるとありがたいです。
Posted by at 2013年04月01日 00:45
更新されたエピソード(話?)の再取得についてコメントさせてください。

・エピソード数が減る
か、その副作用として、
・更新日時かタイトルが変更されて、新規投稿はされない
と、同じエピソード番号のエピソードが、これら、更新があった兆候があるにもかかわらず再取得されない
という、バグなのか仕様なのかがあります。

更新日時か投稿日時かタイトルのいずれかが変更されていれば、エピソードが削減されて置き換わったか、あるいは内容が更新されたかのどちらかを意味するものなので、再取得する必要があると考えられます。

同一年月日内に生じた、二度目以降の内容のみの更新は、これらの属性などからそれを知ることは不可能なので、これは仕方がないと思います。
でも、これらの属性のいずれについても、個別のエピソードについて変更があったことが何の負担もなく分かるものなので、対応すべきであると思います。


次に、ダウンロードについてコメントさせてください。

ダウンロード中の画面を見ていると、一瞬(0.2秒ほど)のうちに次から次へと、表示されているダウンロード中のエピソードが切り替わっていきます。
cURLで、連番URL指定で一括で11個以上のエピソードをTXTダウンロードしようとすると、11個目以降はダウンロードに失敗することが分かりますから、少なくとも10個毎に間隔を空けていかないと、却って効率は悪くなると思われます。
かといって、それほど間隔を空けなくても、少し空いてさえいれば良いと思います。
現状では、そのようになんの躊躇いもなく超高速でダウンロードしていった結果、不定期にリトライしているとしか思えないくらい長く待たされます。
待機するようにプログラムされているのだろうとは思いますが、現にうまく待機できていないように思われます。
思い過ごしならごめんなさい。
とは言っても、どういう意図で作られていて本当はどう動作するべきなのかを理解しないと、現実の動作が本当に正常なのかは判断できないのですが。


以上2点に困っています。対応よろしくお願いします。
現状これ一本では保存の成否に不安を抱えている状態です。


追伸(詳論します)

60件作品を登録しているのですが、一つの作品の、全体としての更新の有無の確認だけに、少なくとも5秒から8秒はかけているようです。
小説家になろうAPIは一度のリクエストで、最大100件の作品の作品全体としての最終更新日時を、個別に一瞬で一括取得できます。
活用されてはいかがでしょうか?
とはいっても、これも素人の当て推量で申し訳ないのですが。しかし他に考えられません。なぜなのでしょうか?

以下蛇足

「作品全体の更新日時」の変更の有無→作品のいずれかのエピソードの更新の有無(の可能性)(小説家になろうAPIで100件同時に取得)
    ⇒ここで初めて当該「作品」について調べ直す必要があると確認できると思います

    エピソード番号毎の「タイトル」、「投稿日時」、「更新日時」の変更の有無→当該エピソードの更新の有無(作品のページでHTMLを読んで取得)
        ⇒ここで初めて当該「エピソード」を再取得する必要があると確認できると思います

※エピソード番号は、エピソードの削減や挿入によって、エピソードの同一性との不合致を起こすため、「特定のエピソードが更新されていれば〜」ということは、単純なアルゴリズムでは不可能
※しかしこれで少なくとも、「エピソード削減後に新規投稿(一番後ろに投稿)されたエピソードの取得」と、「更新されたエピソードの取得」と、「挿入(割って入る形で投稿)されたエピソードの取得」と、「(エピソード数を)増やす形で新規投稿されたエピソードの取得」は、問題なく動作する

全く更新されていない作品が多い中で、一括ダウンロードの更新チェックにこんなに待たされる(気がする)理由が分からず、困っています。

確かに、このようなことは基本的なことだとは思います。
しかし、とある作品が複数のエピソードを一括でダイジェストに差し替えた後、新たに投稿されたエピソードが取得されなかったり、毎回5分以上は一括ダウンロードにかかったりしているので、首を傾げております。

念のため重ねて申しますと、エピソード削減時は
・エピソード数が減り
・削減されたエピソード番号より大きいエピソード番号の全エピソードのエピソード番号が、削減後、減少する
ということが問題になると考えられます。
エピソード数の減少を定義する必要があります。間違っても、エピソード数が『増えていな』いからといって、更新が皆無であると断定することは、絶対に避けなくてはなりません。

間違いがあって恥ずかしかったら消してください。
作者様にお伝えしたくて投稿しました限りでございます。
想定外の動作があってお困りであれば、できれば再現して動画にします。
使用バージョンは、2.23に、2.27と2.29を上書きした2.29で、Win7 64bitです。(この記事のものより古くて申し訳ありません)
大変便利で欠かすことができないため、野暮とは承知の上、どうしても伝えたくて仕方がありませんでした。継続的に開発し、フリーで提供してくださり、本当にありがとうございます。


追伸の追伸

複数インスタンスの同時起動をいつの間にかしてしまい、どうしたらいいのか途方に暮れました。
同時起動防止があるといいなあと思います。
不可欠とは申しませんが、本当に困りました。

最後に、長くて申し訳ありません。悪いのは分かっているのですが、私には短くするのが難しいです。
Posted by at 2013年04月05日 03:43
スパム紛いの後にすみません。長々と書いたのですが、結局次のことについてご確認いただければ幸いです。

1 - 太郎
2 - 次郎
3 - 三郎
4 - 四郎

とあるとして、次郎と三郎が削除されると、次に示すとおり、四郎の番号が変わってしまいます。

1 - 太郎
2 - 四郎 ←四郎が2に!

しかも、全体の数も、4から2へと減っています!
ここに、五郎が加わります。

1 - 太郎
2 - 四郎
3 - 五郎 ←消えた三郎の3が新入りの五郎に!

全体の数は3へ戻りますが、依然元の4よりは小さいままとなります。
現状のNovelDLだと、この段階では、初見のはずの五郎を取得することができないようです!
次に示すとおり、この状態からさらに六郎が新しく加わって、初めて全体の数が元の4に戻ります。

1 - 太郎
2 - 四郎
3 - 五郎
4 - 六郎 ←2となった四郎の4が新入りの六郎に!

現状のNovelDLだと、ここで初めて五郎及び六郎を取得するに至るようです。

これによって、頻繁にダイジェスト化される作品のバックアップで不都合が生じる結果となっています。たぶん。
Posted by at 2013年04月05日 04:20
上の人の言うとおり、確かにダイジェスト化の多い金斬 児狐氏のRe:Monster――刺殺から始まる怪物転生記――なんかこの状況によくなっちゃいますね。これって、設定の「話順をTextダウンロードページ優先にする」で何とかならなかったかな?
Posted by at 2013年04月08日 06:41
XP環境をつぶして、Win7にしたら、そのままのソースだとコンパイルが通らなくなりました orz
フォルダとフィルタはしばらくやらないかもしれません。

>1 - 太郎
基本、ダウンロードした最終話しか持っていませんので、イレギュラーケース(作者が話の順番を変えたり、消したり、一度公開して、再度非公開にしたり)は対応できません。
変わりに答えてくれた方がいましたが「話順をTextダウンロードページ優先にする」、ダウンロード済みデータをグリッドの画面で再設定する、グリッドの画面を右クリックして全話ダウンロード等で対応してください。

>API
APIの仕様ページに書いていますが、最大8時間(だったかな?)の時差があるらしいです。
早くても、公開中の情報と動機していない可能性があるため、使えません。
また、登録では複数ページから取得したり、HTMLを読み込んだりしています。
DOM解析とか、セッション接続とかしているので、遅いのはあきらめてください。

>同じ日の再チェック
確か、デフォルトだと24時間は同じ小説の再チェックしないです。
設定すれば変わります。

>読み込み間隔
読み込んでみて、駄目だったら一定時間待ちます。
20秒くらい待つはずですが、2次ファンがなくなるときに、なろうに書いてあった時間に従っています。
最近は調整すれば早くなるのは知っているのですが、当時のようにネットワークが逼迫されても困るので、やっていません。
Posted by 管理人 at 2013年04月09日 23:19
いつも便利に使わせていただいてます。
特定条件下でエラーがでるようなので報告させて頂きます。(Ver.2.30)

ファイル名に${date}や${time}を含ま無いよう指定し、
ファイル結合のチェックなしにすると一部の作品のダウンロード時にエラーになりました。
(結合チェックありだと問題ないようです)
その他のチェック項目については、チェックの有無は関係無いようでした。

以下、エラーになった作品です。
1話めからエラー
n9650boとn5303bo
途中でエラー
n2627t(311話までダウンロードファイル有り)

エラー署名は
EventType : clr20r3 P1 : noveldl.exe P2 : 1.0.0.0 P3 : 5143c4be
P4 : mscorlib P5 : 2.0.0.0 P6 : 5040540e P7 : 3451 P8 : 119
P9 : system.io.directorynotfound
でした。

使い方で回避出来ますが、念のため報告させてもらいました。
Posted by もけ at 2013年05月05日 22:59
こんにちは、こちらのツールを愛用させていただいております。
要望なのですが、前書き後書きを取得しない、本文のみの選択は出来ないでしょうか。
よろしくお願いします。
Posted by at 2013年05月07日 09:35
《・・・》
上記の括弧を使用した小説の場合
括弧の中身が見えなくなります。

生産チートなどの小説だと
会話が消えてしまいます。

一応、報告です

Posted by at 2013年05月07日 22:54
《・・・》の《》はルビに使われる囲みのためではないでしょうか。
設定の所に青空文庫ルビを別の文字に置き換えるチェックボックスがあるのでそれで消してみてはいかがですか?
Posted by at 2013年05月08日 01:32
以前「話順をTextダウンロードページ優先にする」を勧めたものですが、やはりうまくいかないようです。現在230位を調べると、ダイジェスト化で抜けてるのがかなりありました。全部ダウンロード以外だと、「最終ダウンロード話」を一つ一つチェックするしかないようです。具体的にはクリックして出る結果が空白かそれとも最新ダウンロード話の名前が出ているかどうかです。ダイジェスト化による話数減りは、これでチェックできて空白の場合は間違いなく話数が減っています。できるかどうかわかりませんが、この最新ダウンロード話をまとめて全部内部でチェックして、空白の場合テキストボックスなどでエラーをだして、具体的にどれが空白かわかる機能は追加できそうですか?チェック数が多いと、一つ一つクリックしてチェックするので、かなり時間がかかります。こういった機能があると、ダイジェスト化や最新話でのエラー原因を調べるのが簡単になりそうだと思い、提案してみます。もちろん負担になるのでできればでいいです。
Posted by at 2013年05月08日 10:36
いつも愛用させていただいております。

要望なのですが、「指定した話数からの一括ダウンロード開始」という機能は出来ませんでしょうか?
Posted by 榎 悠 at 2013年05月08日 22:45
【30前で】ハロワに行ったら異世界送りにされました【魔法使いになった】 

アプリが勝手に終了したので報告。

Posted by 安価 at 2013年05月26日 07:37
恋を忘れた男やゼロ魔転生物一人称練習作品に満寵伝など、辛口な理想郷住人にも高評価をうけていた二次作者で、感想欄の荒しの被害で創作意欲を失い活動休止していた作者Y.A様が復活!!

……しかし、ダウンロードが出来ませんでした。

作者Y.A様のダウンロードできない作品は下記の二つです。

ダンジョン発掘物語
八男って、それはないでしょう! 
Posted by バナナ☆みん at 2013年06月02日 08:25
↑ヤッパリあれ、最新版でもできないのか。一個前をフォルダの仕様で使ってるけどこちらでもできなかった。
Posted by at 2013年06月02日 10:12
ご報告いただいたものを試してみましたが、新規の状態から登録してみても正常にファイルができているようです。
(もしかすると、作者の人がリストを最新話を書いたりして直ったのかもしれませんが)
ちなみに、うちの環境Win7しかなくなったのでほかの環境は試しておりません。

>指定した話数からの一括ダウンロード開始
グリッドの画面から、最終ダウンロード話数を変更できます。
Posted by 管理人 at 2013年06月02日 23:07
転生者ルーファスの(自称)平凡な日々
http://ncode.syosetu.com/n1985bq/16/
までダウンロード済み。

6/11からチェック時にエラーでNovelDLが強制終了するようになりました。
Posted by at 2013年06月12日 21:56
Y.Aさんの小説、やはり新規で登録してもいざダウンとなるとエラーで強制終了してしまう。なぜだろう?手動で話数設定しても全話ダウンロードでもダメです。他の小説はできてるのになぜだ……
Posted by at 2013年06月14日 01:56
同じく
Y.Aさんの小説をダウンロードしようとすると、エラーで終了してしまいました。

いろいろ試した結果、ファイル名の指定で${title}を最後に指定するとエラーが出るようでした。

そこでY.Aさんの作品のタイトルをよく見ると、
「八男って、それはないでしょう! 」
というように、最後に謎の空白(スペース)が存在することに気がつきました。

もしや、この空白のせいでエラーをはくのではと思い、
nコードを登録した後、ダウンロードタブでタイトルを編集(謎の空白を消去)したところ、問題なくダウンロードすることができました。

同じ状況の人の参考になればと思います。
Posted by at 2013年06月24日 10:37
いつも愛用させて頂いております。
ダウンロードタブのカラム設定でカラム名をクリックするとソート順を変えられる様ですが、ツールを終了すると元に戻ってしまうのを固定できたらと思い要望を出させて頂きました。

バージョンアップの際検討して頂けたらと思います。
Posted by at 2013年06月26日 05:49
windowsXPでこのソフトを使おうとdlしたのですが
『アプリケーションを正しく初期化できませんでした(0xc0000135)』
とエラーが出て起動できません
どうすればいいのでしょうか
Posted by ナナシ at 2013年06月29日 16:51
いつも愛用させていただいています。

なろうさんでも対応したので、ソフトの文字コードもUTF-8に対応していただけたらと、と思います。
お手数かとは思いますが、御一考ください。
Posted by ななし at 2013年07月14日 17:24
長らくお待たせしましたが、対応できるところは対応してみました。

>スペース
trimを入れましたが、本当にスペースじゃない(文字コードが違う)場合は対応でき尾ないかも。

>utf-8
前にもあったので、とりあえず、対応しました。
が、私は使わない(使っているソフトがsjisしか対応していない)ので、あんまりテストしていないです。
また、OSによって、文字コードの企画内での差異や外字等の問題がありますので、直る保障はありません。
はじめのタブに、チェックを追加したんでやってみてください。

>初期化できませんでした
.net framework3.5を入れてください。
その後、windows updateしてください。
たぶん、それで直ります。
あとは、ファイルのアクセス権限をかくにんしてみてください。
Posted by 管理人 at 2013年07月28日 19:28
 先日初めてダウンロードさせていただきました。うまくできない部分がありますので、コメントしました。

IEを開いた状態で、「IEからNCodeを取得」を押すとエラーメッセージが表示され、取得処理ができません。
「Unable to cast COM object of ype 'Shell32.ShellClass' to interface type 'Shell32.ISellDispatch5'.(まだ続きますが省略します。)」

対応につきまして、アドバイスいただければ助かります。
よろしくお願いいたします。

Posted by トシ at 2013年12月08日 15:24
IEからNCodeを取得以外は動きますか?
OSはなんでしょうか?
Win8以降でしたら、環境をもっていないので、対応できるかわかりません。
Posted by 管理人 at 2013年12月10日 06:33
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/347278067

この記事へのトラックバック