UserScripts

起點等主流網站建議優先使用這個腳本【小說】下載腳本,如果遇到沒有人願意支援的小網站,再考慮我的腳本。

請勿用於有版權的網站,如造成侵權或對目標網站造成損失,後果請自行負責。

輕量級抓取腳本,用於下載網路小說或其他文字內容。理論上,它通用於任何將內文靜態寫入網頁的小說網站、論壇、貼吧等,且無須另外設定規則。

腳本會自動偵測並下載頁面中的主要內容(省得複製完gal攻略還要手動逐條刪除「某某某13級頭銜水龍王發表於X年X月X日來自XX客戶端」)。 如果當前在小說目錄頁,腳本會遍歷所有章節,排序後串接成一個 TXT 文字檔。

imgStar Me


操作說明

如果遇到下載出錯的網站,歡迎到 Github 提交 issue。也請順手幫我點亮 Star!

對你有幫助的話,可透過 i 愛發電 或者 i Ko-fi 請我喝一杯奶茶。也歡迎加入 💬Discord 群組 或者關注我的 Twitter

donate

怠惰小説下載器 ZIP 擴充 下載時將各章節分別存為 TXT,並打包成 ZIP 檔

圖片驗證碼辨識 開啟保留內文圖片的網址後配合 ZIP 擴充可自動轉換圖片文字,詳閱愛發電

怠惰心法

名喚怠惰,實為勤勉 此功共有七層,以第一層最易,第七層最難。

第一層心法(極易)

CTRL+F9 就完事了唄。

第二層心法(超易)

倘若章節連結沒有xx章、xx節、xx話之類的特徵字樣,可點擊自訂下載,輸入任意一個章節名稱,例如 「眾神的風車」,即可標記所有同級的連結為目錄章節並下載。假如頁面有兩種章節格式,也可以標記多個,例如「眾神的風車,風車的眾神」。亦可標記排除項,例如「眾神的風車01!02!03,風車的眾神!鐵幕」,這代表:標記「眾神的風車01」的同級連結,但排除其中含有「02」和「03」的項目;同時標記「風車的眾神」的同級連結,並排除含有「鐵幕」的項目。

第三層心法(略易)

如果內頁沒有正文,但章節連結與真實內容連結有關聯,可透過自訂下載,替換連結內容來獲取真實內容。例如輸入 「眾神的風車@@articles@@articlescontent」,即可替換章節 URL 中的 articles 為 articlescontent 並自動獲取內容。

第四層心法(略難)

如果連結無法由直接替換得到最終網址,可用正規表示式替換,例如【眾神的風車@@articles(\d+)@@articlescontent_$1b】,即可替換章節 URL 中的 articles1、articles2 為 articlescontent_1b、articlescontent_2b

第五層心法(難)

輸入章節的 css 選擇器可以更精確地標記章節連結。例如.l_chaptname>a,代表 class 為 l_chaptname 的元素下的 a 連結。 如果有内分頁,且無法用正規表示式提取下一頁連結,可直接用選擇器來獲取,例如.l_chaptname>a@@@@@@next:{.curr+a}。 如果內文擷取錯誤,也可以使用選擇器來獲取,例如.l_chaptname>a@@@@@@@div#content或者.l_chaptname>a@@@@@@next:{.curr+a}@div#content。 下載內容可能含有幹擾碼,此時只需點擊懶人小說下載設置,輸入幹擾碼的 CSS 選擇器即可排除幹擾碼。例如 .mask,.ksam,font.jammer,代表刪除 class 為 mask 或者 ksam 的元素,或者 class 為 jammer 的 font 元素。

第六層心法(超難)

倘若內文並非直接存在於頁面原始碼,而是在頁面載入後才處理生成的,可以點擊自訂下載,輸入自訂程式碼對內頁進行分析以獲取正確結果。例如 【眾神的風車@@@@@@var noval=JSON.parse(doc.querySelector("#meta-preload-data").content).novel;noval[Object.keys(noval)[0]].content;】,即可透過自訂程式碼處理返回的頁面來獲取內容。程式碼中的 doc 代表返回頁面的 document 物件,最後一個表達式的值就是最終寫入的內容。

如果返回 false,代表這是一個非同步回呼(asynchronous callback),可自行抓取內容並等待抓取成功後用 cb(content)` 回傳抓取到的 content。

倘若章節沒有連結,而是點擊後才生成連結並跳轉,可透過 >> 管道處理抓取到的元素生成章節連結,例如a.link >> item.href = xxx; return item;。詳情見下方範例。

第七層心法(極難)

倘若正文已經經過加密,需要解密才能獲取正確內容,可開啟瀏覽器的開發人員工具主控台,自訂 dacProcess 函數,調取頁面中網站自身的解密程式碼處理抓取的加密數據。例如主控台輸入dacProcess=data=>{return decrypt(xxx);} 代表調用網站的 decrypt 函數來解密章節頁面返回的資料。然後再點擊自訂下載,需要注意自訂下載時,標記章節是必要步驟。

關於設定選項

【以下功能需要透過 Tampermonkey 等腳本管理器的指令選單進入】

img

完整格式說明

某個章節名 / CSS 選擇器【選擇器後可跟 >> 傳入 item 處理】 **@@** 抓取到 URL 的正規表示式匹配 **@@** 正規表示式替換 URL **@@** 根據爬取返回內容 data 進行處理並回傳最終文本

内頁處理範例

假設章節元素為 a.links

自訂下載範例,打開目錄頁點擊【自訂下載】粘貼後使用,僅爲規則實例引導,有出入請自行修改

測試網頁

FAQ

為啥要寫這個腳本?

主要是怠惰啊 因為我要下載馳星周的漂流街,卻發現前人的輪子「【小說】下載腳本」不能用,又不想為這破站 🙃 寫規則,而且我就是看不上霸道總裁修仙穿越你咬我啊指不定它三天兩頭改個版呢。寫個通用規則的腳本,一來可以不用追著數不清的小說站適配修改更新,二來也免去了法律風險。 這個腳本會自動去查找主要內容並下載,不需要寫規則。當然如果你家網站廣告內容比正文還多我也沒辦法。 遇到特殊網站還是建議用「【小說】下載腳本」。