したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |
レス数が900を超えています。1000を超えると投稿できなくなるよ。

不具合報告スレ

1作者★:2017/11/21(火) 15:28:21 ID:???
不具合と思われた挙動をした時はこちらに書き込んでください。

報告用テンプレ
-----------------------------------------
Narou.rb のバージョン:

OS のバージョン:

その他環境情報(任意):

何が起きたのか:

再現方法(何をやったら起こったのか詳細に):

-----------------------------------------
エラーメッセージは再現方法に併記。
その際は --backtrace オプションをつけること。

708名無しさん:2024/01/25(木) 01:19:25 ID:???
>>701-702
Java 18 以降はCharacter setがUTF-8になってる
だからRuby側の処理もUTF-8に対応してないと落ちる

709名無しさん:2024/01/25(木) 01:27:34 ID:???
>>706
他サイトにも応用できるすごくよい仕組みですね

710名無しさん:2024/01/25(木) 01:56:08 ID:6n7JiYyo
>>706
ありがとうございます すっごい助かる

711名無しさん:2024/01/25(木) 02:10:49 ID:.C.Qy7ZQ
>>706
無事動作してます!ありがとうございます

712名無しさん:2024/01/25(木) 04:27:10 ID:RdXfmwHc
>>704

公開されたファイルに置き換えてみました。
なろうについては、明らかに話数の多い「マギクラフト・マイスター」で試したところ、全3824話と獲得できました。

ところがカクヨム掲載の作品「【Web版】死ぬ運命にある悪役令嬢の兄に転生したので、妹を育てて未来を変えたいと思います〜世界最強はオレだけど、世界最カワは妹に違いない〜」では810話あるものが0話と認識されてバックアップが動作してしまいました。

とりあえず、なろうサイトに限定して更新して、カクヨムについては追って検証を進めたいと思いますが、取り急ぎご報告まで。

713名無しさん:2024/01/25(木) 04:51:16 ID:???
>>712
再現しませんでした
当方は、今回のカクヨム、なろうのリニューアルに対して、いずれもrogenoblさんの対応版を適応しています
happynowさん、rogenoblさんのお二方が対応版を公開してくださっていますが、混ぜて上書きしていませんか?

714名無しさん:2024/01/25(木) 08:57:46 ID:RdXfmwHc
>>713

作者名を辿って掲示板を見直してみました。
私の場合は、おそらくrogenoblさんの修正は使っていないです。12月にカクヨムがダウンロードできなくなり、
それから数日後に対応できる修正を加えて、先日までそのままでしたから。

その後705さんの修正版に置き換えてみて、カクヨムがダウンロード出来ることを確認しました。
現在なろうのテスト中。ダウンロードは出来ています。
このあと、narou u を実行して最終確認に移ります。

715作者★:2024/01/25(木) 09:20:00 ID:???
忙しすぎてまだ対応できてないので対応してくださったのを公式で取り込ませてもらうかもしれません

716名無しさん:2024/01/25(木) 09:37:00 ID:0LT563F2
自分も712さんと同じ状況になっています。
.narouのあるフォルダにwebnovelフォルダを作成して654のkakuyomu.jp.yamlを導入していることが影響しているかも?と思い
kakuyomu.jp.yamlを外して再起動してみましたがやはりカクヨムは0話となる状態です。

717couji:2024/01/25(木) 14:33:18 ID:???
706さんの記事のzipファイルをお借りしたいのですが落とし方が分かりません(泣)
704をクリックするとメールソフトが開きます。
初心者質問で申し訳ありませんが 誰か教えてください。

718名無しさん:2024/01/25(木) 16:05:06 ID:RdXfmwHc
712,714です。

話数の多い作品が相当数100話までになってしまったので(笑)、更新すると全話ダウンロードに近い
分量になるので、なかなか進みません(笑)。

イレギュラーに503エラーを起こした作品があったようで、朝からまだ20作品あまりしか
進んでいません・・・・。検証完了までまだ相当掛かりそうです。

719名無しさん:2024/01/25(木) 17:09:04 ID:MDqJwjbA
717さん
自分も初心者で半日苦労したので書いておきます。

github.com/rogenobl/narou/releases/download/p0.1/pagination.zip
をコピーしてブラウザの検索欄に貼り付けると、自動でダウンロードが始まります。
ダウンロードしたpagination.zipを解凍すると、3つファイルがあります。

それを、
C:\Ruby25-x64\lib\ruby\gems\2.5.0\gems\narou-3.8.1\lib
C:\Ruby32-x64\lib\ruby\gems\3.2.0\gems\narou-3.8.2\webnovel
の中のそれぞれのファイルに上書きします。

これでやっと全話ダウンロードできるようになりました。
参考になれば。

720704:2024/01/25(木) 20:10:01 ID:???
カクヨム対応の方もファイルを上書きだけでOKな様に差し替えました。
>>719 と同様に入れれば動くはずです。
github.com/rogenobl/narou/releases/download/v0.1/sitesettinghandler.zip

なお内容的には変更ありませんので、正常に動いているなら更新の必要はありません。

721名無しさん:2024/01/25(木) 22:55:55 ID:sJ/r3S7s
>>704
修正がすっきりしていて綺麗ですね
私の修正が入力を結合するのに対して、704さんは出力を結合する
解析処理を f として式で書けば f(x + y) = f(x) + f(y).
カクヨム対応のやり方を踏襲して私は左辺一辺倒ですが
704さんは左辺も右辺も使いこなす二刀流、さすがです

そちらの修正版が公式採用されると思うので、少しプログラムについてコメントさせて頂きました。
ttps://github.com/whiteleaf7/narou/issues/412#issuecomment-1910241843

722716:2024/01/26(金) 00:43:34 ID:ZZmjGzsk
>>720
カクヨムも正常に更新できるようになりました。
ありがとうございました。

723名無しさん:2024/01/26(金) 01:36:15 ID:eX/uxwoM
>>720
対応ありがとうございます。
こちらの環境ではC:\Ruby30-x64」のみnarou関連のフォルダがあったので
とりあえずその配下の同一ファイルを上書き→サーバー再起動したら正常更新できました。
大変助かりました。

724名無しさん:2024/01/26(金) 04:41:51 ID:???
>>718
ファイル書き換えをするときは、サーバー止めて暫くたってからにしないとキャッシュのせいで正常に反映されないことがある。

725名無しさん:2024/01/26(金) 06:47:48 ID:???
>>720 さん

 対応、お疲れさまでした&ありがとうございました。
 昨日までは全作品の更新時に途中で止まっていたのですが、どうやらカクヨム作品の更新チェック時に不具合が起きていたようで、
WebUI上では何も判らなかったのですが、本日 >>720 に差し替えるために再インストールから行ったところ、以前のように更新できるようになりました。

 ただ、一部のカクヨム作品でファイル名がおかしなことになっているものが散見されました。
 というのも、作者名の部分が『小説の作者名/出版社名』のような形式で公開されている作品のみ、
出力されるファイル名の作者名部分が、『小説の作者名〈!-- --〉/〈!-- --〉出版社名』のようになってしまっています。
 年末・年始のカクヨム暫定対応版でも見られた現象なのですが、作者名と出版社名が併記されている作品でしか起きないようなので、
発覚しづらいのかと思われます。
 ひとまずはご報告まで。
 なろう作品については問題なく更新できているようなので、大変感謝しております。

726名無しさん:2024/01/26(金) 07:05:59 ID:???
>>725
ぜひ不具合が起きた具体的な作品名を挙げてください
対応時に実例があるのは重要です

727名無しさん:2024/01/26(金) 07:49:45 ID:???
>>720
無限ループ対策として最大100ページまでに制限してるようですが、調べたところ内容はかなりアレですが、なろうには既に1万4千話を超えた作品があります。
どうやらなろうは一作品で1万話を超えても仕様上は問題ない模様

728名無しさん:2024/01/26(金) 08:02:50 ID:???
>>720
ttps://github.com/whiteleaf7/narou/pull/413

環境設定で上限を変更できるようにしたほうがいいかも

729名無しさん:2024/01/26(金) 08:59:37 ID:p.aW87kA
>>720
>>727-728
作品情報で取得した話数を使うのはどうでしょう

730名無しさん:2024/01/26(金) 09:13:14 ID:p.aW87kA
>>729
なろうは、それでいけるかもしれませんが汎用的ではありませんでした、すいません

731名無しさん:2024/01/26(金) 10:22:02 ID:???
>>544に有るがRuby 3.2の仕様変更対応もしてもらえるとアプデごとに書き換えなくて楽なのだが…

732名無しさん:2024/01/26(金) 11:21:32 ID:???
>>719
ありがとうございます

733725:2024/01/26(金) 11:33:42 ID:???
>>726 さん

 お疲れさまです。
 もっともだと思うのですが、作品名とか作者名とかを直接書いてしまうのは問題が発生する場合もあるのでは? と思ったので、記述しませんでした。
 一応、下記の URI が作者名がおかしくなる作品です。(おそるおそる)

>ttps://kakuyomu.jp/works/4852201425154954465
>ttps://kakuyomu.jp/works/1177354054885267886

 また、>>720 に差し替え後、正常に更新処理が行われるようになったカクヨム作品ですが、
ほとんどの作品で「あらすじが更新されています」と表示されて、新しくファイルが出力されました。
 あらすじの内容には特に変化がないようですが、ぱっと見では判らないようなので、問題はないかと思われます。

734名無しさん:2024/01/26(金) 15:38:55 ID:kUsnWQEk
>>720
github.com/rogenobl/narou/releases/download/v0.1/sitesettinghandler.zip
github.com/rogenobl/narou/releases/download/p0.1/pagination.zip

上記ファイルを上書きさせていただきましたところ、

ERROR NoMethodError: undefined method `replace_info_toc_html' for Downloader:Class

というエラーで更新が進まない状況になりました。何かが足りないのだろうと思うのですがどうすると良いでしょか。
使ってる端末はMacです。

735名無しさん:2024/01/26(金) 16:33:40 ID:p.aW87kA
>>734
narou-3.8.2 のオリジナルに戻してから、それらのダウンロードファイルを上書きましょう
オリジナルに戻すにはターミナル?で
gem uninstall narou
gem install narou
と入力すればいいかも

736名無しさん:2024/01/26(金) 22:11:30 ID:???
>>733
2作品テストしましたが、 >>706 >>720 導入環境下では作者名正常に出力されました(なめこ印/ファンタジア文庫, 葵せきな/ファンタジア文庫)
>> 735 してから再導入すると改善するかも

737名無しさん:2024/01/26(金) 23:44:47 ID:???
>>734
ttps://github.com/whiteleaf7/narou/issues/412
のカクヨム対応は入れてましたか?

入れてた場合、libフォルダのnovelconverter.rbとnovelinfo.rbが確実にオリジナルと異なる為、書き換え直してオリジナルに戻す必要があります。

738名無しさん:2024/01/27(土) 00:05:22 ID:???
>>720
Web UIだと処理ログが表示されないため、目次の確認中なのかエラーで止まってるのか判りずらいので何らかの表示が必要

現行の処理だと
-----------------
更新を開始します
目次の処理 (処理状況非表示)
ID:* タイトル のDL開始
-------------
といった感じになるので更新処理が正常に行われているか判らない

エラーが発生していてもNoMethodError等でない限り--backtrace適応済みでもCUIのログにすら出てこない。

まあWeb UIに--backtraceは効かないかもしれないが…

739704:2024/01/27(土) 19:08:14 ID:???
>>725
>>733
おそらくどこかでエラーが発生してフォールバック的動作でとれる情報だけとってる状態だと思います。

>>727
たしかに1万話越えありますね。
どこかの設定で変えれるようにした方が良いかも知れませんね。
webnovelの方で設定も考えましたが、環境設定だと小説個別に変更出来るのでそっちが良いかもしれません。
件の超長大作はpresetに入れれますし。

>>738
確かに、変にフォールバックするよりエラーで終わらした方が良いかも知れませんね。
プログレスバーも考えます。

740734:2024/01/27(土) 22:04:25 ID:Ad7XW3Uw
>>735

ありがとうございます。
やってみます。

741734:2024/01/27(土) 22:05:39 ID:Ad7XW3Uw
>>737

入れてました。
やっぱりそうなんですね。やってみます。

742734:2024/01/27(土) 22:47:57 ID:Ad7XW3Uw
>>735
>>737
上手く動くようになりました。
ありがとうございました。

743名無しさん:2024/01/28(日) 03:38:39 ID:SA5i0uEQ
こんにちわ。
ここ最近なのですが、100話以上の小説がうまく更新されません。

以下のように表示されてしまいます。
なろうのページではダイジェスト化などはされていないタイトルです。
3.8.2にアップデートしましたが症状が治りません。
どのようにすればよろしいでしょうか。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更新後の話数が保存されている話数より減少していることを検知しました。
ダイジェスト化されている可能性があるので、更新に関しての処理を選択して下さい。

保存済み話数: 676
更新後の話数: 100
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

744名無しさん:2024/01/28(日) 05:14:37 ID:???
最近の過去レスくらいは読んでもろて…

745725:2024/01/28(日) 09:37:49 ID:???
>>736 さん
 毎回、有志対応版を上書きする際には、>>659 の手順を基に >>734 の二ファイルを上書きしているので、
インストールの手順に問題はないはずなのですが……。
 ちなみに、使用している Ruby は Ver.3.3.0 です。


>>743 さん
 なろうの仕様変更により、最新版でも更新できなくなっています。
 有志の方々が暫定的に更新できるよう改善してくれていますので、
>>659 の手順を見て、上書きするファイルには >>734 の二つを上書きして試してみてください。

746736:2024/01/28(日) 11:04:14 ID:???
>>745
でしたらおそらくはrubyのバージョン以外同じはずですね
私は ruby 3.2です
ruby 3.3 は先月出たばかりで使用報告も皆無なので、もしかしたらrubyの仕様変更が原因かもしれないですね

747名無しさん:2024/01/28(日) 11:43:37 ID:???
>>745
>>737にも書いてありますが、カクヨム対応を入れてた場合、
ERROR NoMethodError: undefined method `replace_info_toc_html' for Downloader:Class
がエラーで出ます。

カクヨム対応の方は、

lib\downloader.rb
lib\novelconverter.rb
lib\novelinfo.rb
lib\helper.rb (一部環境のみ書き換え)
webnovel\kakuyomu.jp.yaml

を書き換えるので

lib\downloader.rb

以外はオリジナルに戻す必要があります。

>>659の手順の5以降のみ実行してるのならキャッシュの影響でRubyを止めてすぐ書き換えても反映されないのでゆっくり書き換えましょう。

あと最新のファイルだと8以降は不要です。

.narouにwebnovelを作ってあるならそちらの確認も必要です。

そちらにカクヨム対応のkakuyomu.jp.yamlが残ってると不具合が出ます。

Rubyフォルダ内以外のファイルはRubyやNarou.rbを入れ直しても前のまま残り続けるので…

748名無しさん:2024/01/28(日) 12:21:49 ID:???
>>739
local_setting.yamlに書かれるタイプの設定が一番いいと思います。

小説個別の設定が標準だと確実に設定忘れが発生します。

あと表示を出す場合も挿絵取得時のような、どの小説を更新してるか判る形でないと手動更新時に面倒です。

変換負荷の大小で作品のUpdate頻度を変えてる人もいる上、Web UIの場合、表示履歴の削除 /api/clear_history をするとエラーで止まってしまう処理(挿絵取得後の[AozoraEpub3でEPUBに変換しています....]表示中等)も有るので…

749名無しさん:2024/01/28(日) 14:38:57 ID:LuP0KNjs
>>745
一旦、その作品のデータを削除して(登録データとフォルダデータを削除)
再作成してみてはいかがですか
もしかしたら個別で作成するときには問題が出ず、一括で処理するときだけ問題が出る
ということも考えられますが、ものは試しです。
それと、ファイルの作成日時、更新日時は新しいですか
失礼ながら、古いプログラムで作った古いファイルが残っていただけ、
ということはありませんか

750704:2024/01/28(日) 22:03:16 ID:???
なろうの方、5ページ以上取得の場合はプログレスバーをつけてみました。
github.com/rogenobl/narou/releases/download/p0.2/pagination.zip

>>748
これにあわせて最大ループ数はwebnovelの方で取得するようにしました。
全ページ数が取得できないサイトは今のところ固定値かなと。
ただ、その場合は今のプログレスバーは良くない気もしますが、そこは追々考えようと思ってます。

751696:2024/01/29(月) 01:39:14 ID:BrX0xn36
>>699
古いバージョンの改造版AozoraEpub3で再設定できました。
異常なく動作するようになりました。
ありがとうございました。

752名無しさん:2024/01/29(月) 02:03:20 ID:8E4gEG7E
古いバージョンの改造版AozoraEpub3だと目次がこわれるみたいだけど

753名無しさん:2024/01/29(月) 17:53:18 ID:tsAzfRoI
OS のバージョン:
Windows 10 Pro 21H2

その他環境情報(任意):
Narou.rb Version 3.8.2

何が起きたのか:
なろうの話数が最大100話になってしまう。

再現方法(何をやったら起こったのか詳細に):
カクヨムの話数0件Errorを掲示板の >>659 に合わせて修正した。
その後更新をかけたら100話以上のものが全て100話になる。

754名無しさん:2024/01/29(月) 19:06:42 ID:???
>>753
>>690のあたりから読んでみると良いかと思います。

755名無しさん:2024/01/29(月) 23:59:45 ID:Nr5DLans
>>752
古いバージョンだと極一部のカクヨム作品の目次ナビゲーションがおかしくなります
とはいえ本文は読めますから古いバージョンで間に合えばそれでいいと思います

756714:2024/01/30(火) 07:57:53 ID:jIwiqLqA
714です。
未だにnarou uコマンドが完了せず、途中で終了してしまっております。

100話に切り上げられてしまった作品の再ダウンロードが起こる訳ですが、
どうも不規則ながら通信エラーが頻繁に発生します。

C:/Tool/Ruby32-x64/lib/ruby/3.2.0/net/http.rb:1271:in `initialize': Failed to open TCP connection to ncode.syosetu.com:443 (Blocking operation timed out!) (IO::TimeoutError)
from C:/Tool/Ruby32-x64/lib/ruby/3.2.0/net/http.rb:1271:in `open'
from C:/Tool/Ruby32-x64/lib/ruby/3.2.0/net/http.rb:1271:in `block in connect'

・話数の多い作品の再ダウンロード時に、途中で発生する場合
 ->数回試して駄目なら一時的にfreezeして後回しに
・どれかの作品のチェック中と思われる場合
 ->ある作品のepub化終了後、次に作品に差し掛かったと思われるところで発生

このエラーが頻発するため、未だにnarou uコマンドが完了しません。
narou lコマンドからのパイプ処理など、いろいろ試していますが、回避方法、
原因究明ともに行き詰まっています。

他に同様の現象が発生している方はおられませんか?
また調査方法について、どなたか何かアドバイスいただけないでしょうか?

757736:2024/01/30(火) 09:43:15 ID:???
>>756
なったことあるけど、waitを増やしたら改善したよ
デフォルトより3〜4倍時間をかけてる

758714:2024/01/30(火) 10:32:29 ID:jIwiqLqA
>>757

今回のなろう100話対応が入るまでは生じなかった現象ですから、今回修正が
入った何かが影響しているのだろうとは思います。

waitを増やして改善したとのこと、情報ありがとうございます。
503エラーならwaiで対応するのでしょうが、tcpコネクションのエラーにも
waitは関係しているのでしょうか?

759名無しさん:2024/01/30(火) 13:10:18 ID:???
>>758
今回から入った目次取得の時にWait処理が行われていないのでは?

目次取得も本文取得同様Wait必須なので…

ログを見るにアクセス過多でブロックされてる。

760名無しさん:2024/01/30(火) 13:31:12 ID:???
>>750
目次取得も本文取得同様Wait必須な事を考えると1ページから表示出ないとダメでは?

Waitに必要な時間を考えると1ページ取得に最低2秒掛かるので…

あと一定回数以上連続アクセスでブロック(DoS攻撃対策)されてる事を考慮すると目次取得でも本文取得同様10回に1回2.5秒Waitも必要

761753:2024/01/30(火) 14:28:05 ID:uzALkOI.
>754
ありがとうございました。
正常にダウンロード出来ました。

762名無しさん:2024/01/30(火) 18:59:24 ID:???
>>756-759
実際の挙動を見てても目次取得でのWait処理はきちんと入ってるぽいけど
以前から数千話級の作品をDLしようとするとブロック・アク禁されがちだったから、そもそもデフォルトのWaitでは足りてないんじゃないかなという説

763名無しさん:2024/01/30(火) 20:38:51 ID:iE/502/o
>>756
>>758

rogenoblさんの修正版を使用してみてください

> ある作品のepub化終了後、次に作品に差し掛かったと思われるところで発生

ということですが、もしかしたら目次取得のところで落ちているかも知れません。
そこの処理部には100話対応のため(既存のダウンロード処理が呼び出しにくかったので)私が自前でダウンロード処理を書いています。waitも入れてるけど他に問題がないともいいきれません。

ややこしいものを公開してしまって、すいません。
拙いものですが、これまでご利用ありがとうございました。

ちなみに rogenoblさん版は既存のダウンロード処理を使っています。私と違い、入力ではなく出力を結合してるので既存処理をそのまま利用できました。

それにしてもHTTPエラーならぬTCPエラーというのは何でしょうね??

764名無しさん:2024/01/30(火) 22:13:27 ID:iE/502/o
>>758
連続DLを繰り返すと503エラーだけではなく WEBサーバーの応答時間が遅くなる場合があります
そのとき TCP connection エラーが出るようです

>>760
5〜6秒以内に11回アクセスをしたら規制がかかるようです
でも、30分に1000回もアク禁とか条件が複数あるかもしれません
連続DLを繰り返すと、もっと条件が厳しくなったりするかもしれません

765751:2024/01/30(火) 23:01:40 ID:s5JIpX3s
>>752
カクヨムではなくハーメルンでの不具合でしたので大丈夫です
多分こっちのPC内での不具合だったんだと思います

766704:2024/01/30(火) 23:26:31 ID:???
元々の処理に加えてページ取得する前にウェイト入れたので、基本的には問題ないと思ってたけど、
元々の処理に微妙な部分があったので一応直した。
happynowさんに感謝。
github.com/rogenobl/narou/releases/download/p0.3/pagination.zip

>>756
>>763
まだ確認してないけど、rubyのバージョンでexceptionが変わったかもしれません。
本来スキップして次の更新に移るはずが、例外が拾えてない気がします。

767名無しさん:2024/01/31(水) 02:07:54 ID:1KdvXbWo
blog.syosetu.com/article/view/article_id/4646/
外部サービスについては厳しく対応を行っております。

768名無しさん:2024/01/31(水) 02:25:39 ID:Gj.E3/l6
公式に聞く奴がおるか

769714:2024/01/31(水) 03:17:37 ID:mV6EnoGo
>>763

アドバイスに従い、rogenoblさんの修正版0.3+sitesettinghandlerに入れ替えてみることに
しました。これからテストに入ります。

目次ページ取得中のプログレスバーはいいですね。
これで仮にエラーが発生しても、発生箇所の特定が容易になりそうです。

ひとつ気になったのは、なろうで更新済みのタイトルが、あらすじ変更と検出されるものが
多いこと。あらすじの検出に差が出る変更箇所があったのでしょうか?

770714:2024/01/31(水) 03:23:34 ID:mV6EnoGo
>>769

あらすじ更新が検出されているのはカクヨムだったようです。
769の記述だとなろうサイトのあらすじだと言っていますが、誤りでした。

771名無しさん:2024/01/31(水) 07:45:10 ID:ueKA8n9Y
>>766
お役に立てて何よりです

772名無しさん:2024/01/31(水) 17:52:09 ID:???
>>766
sitesettinghandlerがPull Requestsに反映されてないからこのまま新Verが出たらまたカクヨム対応が面倒になるのでは?

773704:2024/02/01(木) 00:13:31 ID:???
度々ですが更新しました。
github.com/rogenobl/narou/releases/download/p0.4/pagination_with_fix.zip
github.com/rogenobl/narou/releases/download/v0.2/sitesettinghandler.zip
なろう対応の方は、IO::TimeoutErrorを、他のネットワーク関係のエラーと同様にスキップするようにしました。
カクヨム対応の方はコードの整理と、エラー発生時に無視せず中断するようにしました。
カクヨムの方はこの版の様子を見てからPull Requestsしたいと思います。

774名無しさん:2024/02/01(木) 02:18:13 ID:L1.hmzoE
>>773
カクヨムの方はとても興味深い実装ですが Pull Request するなら、もう少し分かりやすく保守しやすいものに改良されてはどうでしょうか
利用者のことを考えて早めにパッケージ化されたいのであればフォークするのも手だと思います

775名無しさん:2024/02/01(木) 03:00:52 ID:L1.hmzoE
>>773
すいません。それでも、かなりコード整理されたんですね。
あと kakuyomu2.jp.yaml でプログラムの中で一番最初に使われる可能性のある項目に -*code と書かなきゃいけないのが、設定仕様が実装依存な感じで少し扱いづらいと感じました。
例:
title: &title
- *code
subtitles:
- *code
codeの読み出しは明示的に実装したほうがわかりやすいと思います。
言うだけなら簡単なんですけど、たとえば、小説ごとに変換処理を書ける converter.rb のような形式とかどうでしょうか

776名無しさん:2024/02/01(木) 08:02:01 ID:???
>>775
小説ごとだと仕様変更時にすべて置き換える必要があるのでは?

確実に置き替えミスが発生します。

個別書き換えだと完結済みの作品の物すら書き換える必要があるのでSSDやHDDに余計な負荷もかかりますし…

777名無しさん:2024/02/01(木) 08:29:18 ID:???
>>776
kakuyomu2.jp.yaml を分かりやすく書きやすくするためには……の指摘だからそんな話してないと思うよ

778769:2024/02/01(木) 19:16:08 ID:jq3FHzW6
769です。
現在もnarou uコマンドのテスト中です。

何度かリトライして、それまで引っかかっていた4000話を超える作品の再ダウンロードが終わり
ました。

その時点で773でアップされた更新版に入れ替えました。
そこから再度narou uを走らせたのですが、約12時間経過してまだ処理中です(笑)。

これまでエラーで落ちていた箇所を超えたところ、新たに再ダウンロードになる
3000話、4000話越えの作品が出てきました(笑)。そのため処理は完了していないのですが、
途中で落ちていない点がこれまでとは違います。

なろう100話問題からのリカバリは思いの外、時間が掛かるようです。

779名無しさん:2024/02/01(木) 20:01:55 ID:???
download.choices-of-digest-options で 2: 更新をキャンセル にしておけばまた同じことがあっても再ダウンロードを避けられる
また日頃からバックアップをとっていれば簡単に復元できる

780704:2024/02/01(木) 20:15:21 ID:???
>>775
コードの外出しは当初にもあったので、requireするヘルパーメソッド的なものを実装しても良いかもしれませんね。ただ、

>プログラムの中で一番最初に使われる可能性のある項目に -*code と書かなきゃいけないのが、設定仕様が実装依存な感じで少し扱いづらいと感じました。

元々のコンセプトが、情報を取り出す手段を正規表現マッチ以外にも増やしたいという所にあって、当初の構想はJSONそのものからとか、xpathやjquery的セレクタとかそういうバリエーションの提供だったんです。
端的に言えばrubyコードを書ける様にする予定で無かったけど、カクヨムのが思いの外単純で無くてad hoc的なものになってしまいました。

今のところ、設定ファイルの方は、他のサイトでも前処理が必要とかでなければ、ひとまずad hocで行きたいです。
いくつか実例が出来たならばAPI(Class I/F)的なところを詰めて汎用化にもっていけばいいかなと。

現状、悩みどころなのは、設定ファイルの方よりコードの方が拡張性を意識してるんだけど、今回は現機能に絞ってコンパクトにしようかどうしようかと言う所。無駄に風呂敷を広げてる気がしなくもない。
今後は機能拡張より、細かいバグ潰しとAozoraEpub3周りの整理が優先ではないかと思ったりはしてるので、いつになるか分からない拡張機能はとりあえずいらないんじゃないかなと思い始めてる。

781名無しさん:2024/02/01(木) 23:21:47 ID:L1.hmzoE
>>780
回答ありがとうございます
・どう動くか分かりづらいコードは、どう直せばいいかも分かりづらい
・テクニカルなコードは保守上のネックになりかねない
・公式のコードは長く保守し続けから、わかりやすいものがよい
・一度、公式に取り込んでリリースしてしまうとなかなか直しづらい
そんな考えで提案させて頂きました。

それと kakuyomu.jp.yaml と kakuyomu2.jp.yaml は2つに分ける必要があるんですか
(Pull Requestするとき、ひとつにするのでしょうか?)

> AozoraEpub3周りの整理
ほんとそれ、という感じです。

>>776
少し分かりづらい書き方でした(人に分かりやすくと言っておきながら私の書きようは分かりづらい)
「小説ごとに」というのは converter.rb の説明であって、カクヨム対応をそうせよというわけではありません。
converter.rb は loadconverter.rb というプログラムのなかで次のように読み出しと実行がしっかり書いてあるんです。

converter_path = File.join(archive_path, "converter.rb")
...
eval(File.read(converter_path, mode: "r:BOM|UTF-8"), binding, converter_path)

でも kakuyomu2.jp.yaml の code はRubyコードなのに、読み出して実行するコードがそれと分るように書かれていないんです。
だから converter.rb を実行するように分かりやすく書いたらどうかという提案でした。
でも sitesettinghandler がどう動いているのか解析するのはなかなか楽しいですよ

782名無しさん:2024/02/02(金) 01:43:48 ID:???
>>781
ここは不具合報告スレなのであまりにも専門的すぎることはGitHubのIssuesに書いた方がいいです。
ここには、RubyやJavaに詳しくない人も来るので…

783名無しさん:2024/02/02(金) 04:04:38 ID:3tKk8pzM
Narou.rb のバージョン:3.8.2(rogenoblさんのsitesettinghandlerV2+PaginationV4適用)

OS のバージョン:Windows 10

その他環境情報(任意):ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]

何が起きたのか:n5521cs リバース・スラスターズ 変換時にフリーズ。
AozoraEpub3に渡す前の、前処理変換の段階でフリーズしているようです。
34%、99%など途中で固まってしまいます。
削除→再DL、挿絵無効化などしましたが変わりません。
他の作品は正常に利用できています。

再現方法(何をやったら起こったのか詳細に):narou d n5521cs
エラーメッセージは表示されません。

784781:2024/02/02(金) 06:23:58 ID:6XI/JUaM
>>782
確かにそうです。申し訳ありません

785778:2024/02/02(金) 15:46:54 ID:3TJbmKfA
>>778 です。
現在は以下の修正版をテストしています。
github.com/rogenobl/narou/releases/download/p0.4/pagination_with_fix.zip
github.com/rogenobl/narou/releases/download/v0.2/sitesettinghandler.zip

1月下旬のなろう目次ページ改変以降、さきほどようやく初めてnarou uコマンドが
正常終了しました。これであとは通常更新が続けられれば問題なしと言えそうです。

ただ処理時間はかなり延びたような気がします。これから様子を見ますが、今回は
通常の2〜3倍の時間が掛かったようです。凍結対象とする閾値を上げなくてはならない
ようです。

>>779
download.choices-of-digest-optionsは「4,1」を使用しています。
通常は2にしてしまうと、その後の更新はしなくなるように思うのですが、どうでしょうか。

実際にはダウンロード済みの各話データはあるので、更新情報だけ手動で書き換えて、
再ダウンロードしないようにすればいいのでしょうか。その場合は、小説データフォルダの
どこかのファイルをいじるのだろうと予想されますが、簡単に行えるものでしょうか?

786名無しさん:2024/02/02(金) 16:14:57 ID:???
カクヨムの仕様変更のときに変更したファイルをオリジナルに戻した上で、
rogenoblさんのsitesettinghandlerV2とPaginationV4を入れてみたのですが、
「AozoraEpub3でEPUBに変換しています.」の段で

ERROR ArgumentError: invalid byte sequence in UTF-8\n\tC:/Ruby32-x64/lib/ruby/gems/3.2.0/gems/narou-3.8.2/lib/novelconverter.rb:315:in `convert_txt_to_ebook_file'

のエラーが出て処理が停止してしまいます。
これはどうすればよいでしょうか・・・?

787786:2024/02/02(金) 16:51:30 ID:???
すみません、解決しました。
OpenJDK 21を使っているので、novelconverter.rbに
github.com/whiteleaf7/narou/issues/399#issuecomment-1875320540
の修正が必要であることを忘れていました。

788名無しさん:2024/02/02(金) 17:37:21 ID:???
>>785
>通常は2にしてしまうと、その後の更新はしなくなるように思うのですが、どうでしょうか。
現在の話数より増加すれば更新再開されると思います
完結・エタな作品での改稿で、話数が減ってその後増えないと更新されないのはデメリットですね

789名無しさん:2024/02/02(金) 19:45:40 ID:/wo5ac0A
>>785
>download.choices-of-digest-optionsは「4,1」を使用しています。
それならば、その時にできたバックアップで小説フォルダの全ファイルを上書きすればよいのでは。

790704:2024/02/02(金) 21:27:07 ID:???
>>783
今日はもう追えないけど、とりあえず分かった部分だけ。
挿絵が大量にあります。機械的に数えたので間違いもあるかもしれないけど、2700程ありそうな気がします。
34%の時点で大量にDLしはじめました。
たしか挿絵無効にしてもDLだけはしたような気がします。

791名無しさん:2024/02/02(金) 21:54:10 ID:6XI/JUaM
>>783
>>790
暫定対処ですが私は下記の方法を取ることで書籍化できました

(1)「\小説データ\小説家になろう\n5521cs リバース・スラスターズ」フォルダのなかの
converter.rb をテキストエディタで開いて、
7行目と8行目の間に io.string.gsub!(/[#挿絵(.+?)入る]/, "") を追加します(下記参照)

(修正前)
# 各種変換処理がされる「前」の生データに対しての変換処理を記述
def before(io, text_type)
super
io
end

(修正後)
# 各種変換処理がされる「前」の生データに対しての変換処理を記述
def before(io, text_type)
super
io.string.gsub!(/[#挿絵(.+?)入る]/, "")
io
end


※ /[#挿絵(.+?)入る]/ は / . + ? の4文字以外は全角です

(2) 作品データのダウンロードが済んでいそうなら narou c n5521cs コマンドを使って変換します

中途半端で申し訳ありませんが、私の調査はここまでにします

792名無しさん:2024/02/03(土) 00:50:57 ID:ZZiUbFXQ
>>790 >>791
>>783 です。調査していただきありがとうございました。

小説は、791さんの方法ですぐに変換することができました。
converter.rb を直接編集して挿絵を無効化する方法は知らなかったです。

その後もう一度 narou c n5521cs してみたところ、2時間以上かかって完了しました。
ご推察のとおり、大量の挿絵が原因みたいでした。
convert中は%の進捗がなくても、挿絵フォルダに画像ファイルが増えていたので、
単純に挿絵のDLに時間がかかっていたみたいです。

変換時に挿絵をDLしているのも知らなかったのです。
791さんの方法だと挿絵DLを回避できるみたいです。

この度は不具合だと思い込んでしまいお手数おかけしました。
重ねて感謝いたします。

793704:2024/02/03(土) 18:57:46 ID:???
>>792
ちょっと挿絵の数が想定外だし、プログレスバーが実態に即していないのは、よくあることではあるんですが、
不具合でないかと言えばそうでも無いし、良い気付きにもなりました。
できればファイルのDLは分離して、こちらはこちらでプログレスバーでも付けれると良い気がします。

794名無しさん:2024/02/03(土) 20:23:28 ID:98RdJxvQ
>>792
>>793
少し話は変わりますが補足させてください

挿絵を挿入しないなら、画像ダウンロードは必要なさそうですが、そうとも言い切れません。
挿絵機能を無効化していても画像をダウンロードしておけば、
作品がサイトから削除された後でも、挿絵機能を有効化して挿絵を挿入することが出来ます。

あと気になったのは
・サイト側で画像ファイルが差し替えられることはないか、narou.rbは毎回ダウンロードしているのか
・画像ファイルをダウンロードするのにウェイト(待機)が掛かっていなさそう?
という点です

795704:2024/02/03(土) 22:29:19 ID:???
>>794
>・サイト側で画像ファイルが差し替えられることはないか、narou.rbは毎回ダウンロードしているのか
挿絵フォルダに画像ファイルが存在すればダウンロードせず、差し替え等のチェックもしてないようです。
ただ、小説家になろうで通常つかわれるみてみんは、軽くググってみたところでは画像の差し替えが出来ないようです。
しかし、pixivとか他のサイトなら差し替え出来るかもしれないし、何かよい手段があると良いですね。

>・画像ファイルをダウンロードするのにウェイト(待機)が掛かっていなさそう?
かかってないと思いますが、かける必要性は低いと思います。
1ページに何枚も画像がある場合でも、普通のブラウザはウェイトは入れませんし、いくつか平行してのアクセスすらします。
システムとしても、普通のページと違って、画像はそれを前提とした設計がなされますし、なされてきました。
そして挿絵は普通そんなに多くあるものでもありません。

796名無しさん:2024/02/04(日) 01:23:23 ID:D8GO8xqc
>>795
わざわざ調べて下さってありがとうございました。お陰で理解できました。
それと回答を読んで気がついたのですが、画像の連続DLに規制を書けてしまうと、
数々の作品が一度に表示される検索画面など、みてみんサイト自体の閲覧に問題が出ますね

797名無しさん:2024/02/13(火) 02:25:59 ID:???
narou.gemspec

44行目のgem.required_ruby_versionが

gem.required_ruby_version = ">=2.3.0"

のままになっている。

依存関係に有るランタイムの仕様上Ruby 2.3だと動かない

activesupportが>=2.7.0、sinatora >=2.7.8 なので…

rubyzipも>=2.4

798名無しさん:2024/03/07(木) 15:28:15 ID:???
なろう、ノクターンともに更新をかけると403になって目次が取得できなくなってますね

799名無しさん:2024/03/07(木) 15:34:27 ID:FKjmkJNs
昼まではできたのですが、今はだめですね。
ip制限とかでもなさそうなんですが。

800名無しさん:2024/03/07(木) 16:14:19 ID:???
うちは大丈夫

801名無しさん:2024/03/07(木) 16:30:59 ID:OpjrYjao
ウチも午後駄目ですね。
リンクのボタンからはページは開き、PDFダウンロード等もできるのですが。更新は403ですねぇ。

802名無しさん:2024/03/07(木) 18:01:10 ID:???
User-Agentをいろいろ試してみたところ、”Ruby” が入っていると 403 Forbidden が返されました。
ちなみにブラウザじゃなくてもcurlとfetchはいけましたが、wgetはダメでした。
海賊版サイト対策ですかねぇ。

APIを使った更新確認ではエラーが出ないので、目次や本文のダウンロード時にUA偽装が必要になった模様です。

803名無しさん:2024/03/07(木) 18:42:24 ID:???
古いUAだと弾かれることもあるので、narou s で任意のUAに設定できるのが望ましそうです

804名無しさん:2024/03/07(木) 18:44:53 ID:???
>>802

↓の影響では?

ttps://jbbs.shitaraba.net/bbs/read.cgi/computer/44668/1534840592/13

805名無しさん:2024/03/07(木) 18:54:45 ID:???
>>804
その発表は目次ページネーションのときのものですが、まあ厳しくしていくのでしょうね

806名無しさん:2024/03/07(木) 20:16:00 ID:kIiTkixY
今日からなろうが更新403でできなくなりました。
試しにカクヨムだとダウンロードできたので、やはり、なろうの方の変更なんですね。
厳しくされていくのはわかりますが、ショックですね。

807名無しさん:2024/03/07(木) 20:39:13 ID:???
ひとまず3カ所ほど、open_uri_optionsのCookieの前に
"User-Agent" => "ブラウザのUA",
って具合に追記して更新出来た


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板