なろうの目次ページが変更になって100話区切りになった

2024年02月09日 

 現状100話未満なら正常にダウンロードする。100より後は認識しない。2ページ目以降の目次をドラッグアンドドロップすると100話より後もダウンロードできるが上書きされてしまう。

100話以上ある小説の場合にページネーションが追加されて分割されるようだ。 novelview_pager-boxのaタグ内のクラスnovelview_pager-next リンク先が?p=2で末尾の数字ページ番号である。 最後のページの場合には novelview_pager-nextのクラスがspanタグになっている。

document.getElementsByClassName("novelview_pager-next").length==0
の場合は目次なし
document.getElementsByClassName("novelview_pager-next")[0].tagName=='A'
の場合に次のページがあり
document.getElementsByClassName("novelview_pager-next")[0].href
を取得する末尾に ?p=2 が追加される 
document.getElementsByClassName("novelview_pager-next")[0].tagName=='SPAN'
の場合最終ページ

トップページ読み込み2ページ目へのリンクがある場合には2ページ目を読み込みに行く。2ページ目更新の更新情報と各話へのリンクに追加する。これを最終ページまで繰り返す。

HREF

SUB_UPDATE

CONTENT_UPDATE_LIST

サイトを読み込んで処理をするときに、

各ページのclass="index_box"を取得して中身を連結
document.getElementsByClassName("index_box")[0].children

jsoupのdom操作がJSとだいぶ違うのでマニュアル見ながらじゃないとできない。

jsoupでノードのコピー

[https://www.tabnine.com/code/java/methods/org.jsoup.nodes.Document/appendChild]

extract.txtから設定を読み込むために設定内容を考える。

ページャーの上限 PagerMax 100 目次のクラスネーム index .index_box:0 リンクのクラスネーム NEXTPAGE .novelview_pager-next

ページネーション読み込み機能をつけてみた

バグが出ても対応できる人向け web/ncode.syosetu.com/extract.txt内の #NEXTPAGE の#を外すとページネーションが有効化される


Profile picture

99 電子書籍に関するものを公開しています。キンドルで電子書籍を出してます。 Twitterをフォロー プライバシーポリシー