Skip to content

Commit e321ab4

Browse files
committed
2 parents 26aa004 + a40190c commit e321ab4

4 files changed

Lines changed: 104 additions & 39 deletions

File tree

DownloadAllContent/README.md

Lines changed: 44 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
起點以及其他知名小說站都推薦用這個腳本[【小說】下載腳本](https://github.com/dodying/UserJs/tree/master/novel/novelDownloader)遇到沒人願意適配的不知名小站再考慮我的腳本
1+
起點等都推薦用這個腳本[【小說】下載腳本](https://github.com/dodying/UserJs/tree/master/novel/novelDownloader)遇到沒人願意適配的小站再考慮我的腳本
22

33
輕量級抓取腳本,用於下載網頁小説或其他文字內容,理論上通用於任何靜態寫入正文的小說網站、論壇、貼吧等而無需規則。
44

5-
腳本會自動檢索頁面中的主要內容並下載(省得複製完gal攻略還要手動逐條刪除「某某某13級頭銜水龍王發表於X年X月X日來自XX客戶端」)。
5+
腳本會自動檢索頁面中的主要內容並下載(<del>省得複製完gal攻略還要手動逐條刪除「某某某13級頭銜水龍王發表於X年X月X日來自XX客戶端」</del>)。
66
如果位於小說目錄頁會遍歷所有章節並排序拼接後存為TXT文檔。
77

88
[![img](https://img.shields.io/github/stars/hoothin/UserScripts?style=social)](https://github.com/hoothin/UserScripts) [【高亮或者格式化網頁中選中的代碼,並統計字數】](https://greasyfork.org/scripts/24150-highlight-every-code)
@@ -14,54 +14,73 @@
1414
+ 按下 `CTRL+F9` 或點擊命令菜單
1515
+ 按下 `SHIFT+CTRL+F9` 忽略目錄,僅下載當前頁
1616

17+
若是遇到下載出錯的站點,可隨意提交issue至[Github](https://github.com/hoothin/UserScripts/issues),我若恰好有空便會嘗試幫你查錯或編寫自定義規則。
1718

1819
*對你有幫助的話,請透過[PayPal管道](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation)请我喝一杯奶茶*
1920

2021
<img src='https://s2.loli.net/2022/01/06/lEqKWLHG7UBO6AY.jpg' alt="donation" width=420>
2122

22-
#怠惰心法
23+
## 怠惰心法
24+
<del>名喚怠惰,實為勤勉</del>
2325
此功共有七層,以第一層最易,第七層最難。
24-
### 第一層心法
26+
### 第一層心法(極易)
2527

2628
**CTRL+F9** 就完事了唄。
27-
### 第二層心法
29+
### 第二層心法(超易)
2830

29-
假若章節連結沒有 xx 章、xx 節、xx 話之類的特徵字樣,可點擊**自定義下載**,輸入隨便一個章節名,例如 「眾神的風車」,即可標記所有同級連結為目錄章節並下載。假如頁面有兩套章節格式,可標記多個,例如「眾神的風車,風車的眾神」。亦可標記排除項,例如「眾神的風車01!02!03,風車的眾神!鐵幕」,代表標記「眾神的風車01」同級連結並排除含有 02 的項和含有 03 的項,同時標記「風車的眾神」同級連結並排除含有“鐵幕”的項。
30-
### 第三層心法
31+
倘若章節連結沒有xx章、xx節、xx話之類的特徵字樣,可點擊**自定義下載**,輸入隨便一個章節名,例如 「眾神的風車」,即可標記所有同級連結為目錄章節並下載。假如頁面有兩套章節格式,也可標記多個,例如「眾神的風車,風車的眾神」。亦可標記排除項,例如「眾神的風車01!02!03,風車的眾神!鐵幕」,代表標記「眾神的風車01」同級連結並排除含有 02 的項和含有 03 的項,同時標記「風車的眾神」同級連結並排除含有「鐵幕」的項。
32+
### 第三層心法(略易)
3133

32-
如果內頁沒有正文,但章節連結與真實內容連結有關聯,可通過**自定義下載**,替換連結內容獲取真實內容。例如 【`眾神的風車@@articles@@articlescontent`】,即可替換章節URL中的 article 為 articlescontent 。
33-
### 第四層心法
34+
如果內頁沒有正文,但章節連結與真實內容連結有關聯,可通過**自定義下載**,替換連結內容獲取真實內容。例如 【`眾神的風車@@articles@@articlescontent`】,即可替換章節 URL 中的 articles 為 articlescontent 並自動獲取內容
35+
### 第四層心法(略難)
3436

3537
如果連結無法由直接替換得到最終地址,可用正則替換,例如【`眾神的風車@@articles(\d+)@@articlescontent_$1b`】,即可替換章節 URL 中的 articles1、articles2 為
3638
`articlescontent_1b、articlescontent_2b`
37-
### 第五層心法
39+
### 第五層心法(難)
3840

39-
輸入章節的 css 選擇器可以更精確地標記章節連結。例如`.l_chaptname>a`,代表 class 為 l_chaptname 的元素下的a連結
40-
下載內容可能含有干擾碼,此時只需點擊**懶人小說下載設置**,輸入干擾碼的 css 選擇器即可排除干擾碼。例如 `.mask,.ksam`,代表刪除 class 為 mask 或者 ksam 的元素
41-
### 第六層心法
41+
輸入章節的 css 選擇器可以更精確地標記章節連結。例如`.l_chaptname>a`,代表 class 為 l_chaptname 的元素下的 a 連結
42+
下載內容可能含有干擾碼,此時只需點擊**懶人小說下載設置**,輸入干擾碼的 css 選擇器即可排除干擾碼。例如 `.mask,.ksam,font.jammer`,代表刪除 class 為 mask 或者 ksam 的元素或者 class 為 jammer 的 font 元素
43+
### 第六層心法(超難)
4244

43-
假若正文不在內頁正文,是頁面加載後處理得到的,可點擊**自定義下載**,輸入自定義代碼對內頁進行分析獲取正確結果。例如 【`眾神的風車@@@@@@var noval=JSON.parse(data.querySelector("#meta-preload-data").content).novel;noval[Object.keys(noval)[0]].content;`】,即可忽略正文,只通過自定義代碼處理返回頁面獲取內容。代碼中使用 data 可以獲得返回頁面的 document ,最後一個表達式的值為最終寫入的內容。
44-
### 第七層心法
45+
倘若正文不在內頁正文,是頁面加載後處理得到的,可點擊**自定義下載**,輸入自定義代碼對內頁進行分析獲取正確結果。例如 【`眾神的風車@@@@@@var noval=JSON.parse(data.querySelector("#meta-preload-data").content).novel;noval[Object.keys(noval)[0]].content;`】,即可通過自定義代碼處理返回頁面獲取內容。代碼中使用 data 可以獲得返回頁面的 document,最後一個表達式的值為最終寫入的內容。
4546

46-
假若正文已經經過加密,需要解密才能獲取正確內容,可打開瀏覽器的控制台,自定義 dacProcess 函數,調取頁面中網站自身的解密代碼處理抓取的加密數據。例如控制台輸入`dacProcess=data=>{return decrypt(xxx);}` 代表調用網站的 decrypt 解密章節頁面返回的數據。然後再點擊**自定義下載**,需要注意自定義下載時標記章節是必需的。
47-
###關於配置項
48-
**【以下功能需要通過油猴命令菜單進入】**
47+
倘若章節沒有連結,點擊後方才生成連結跳轉,可通過 `>>` 管道處理抓取到的元素生成章節連結,詳情見下方例子。
48+
### 第七層心法(極難)
49+
50+
倘若正文已經經過加密,需要解密才能獲取正確內容,可打開瀏覽器的控制台,自定義 dacProcess 函數,調取頁面中網站自身的解密代碼處理抓取的加密數據。例如控制台輸入`dacProcess=data=>{return decrypt(xxx);}` 代表調用網站的 decrypt 解密章節頁面返回的數據。然後再點擊**自定義下載**,需要注意自定義下載時標記章節是必需的。
51+
52+
### 關於配置項
53+
**【以下功能需要通過 Tampermonkey 等管理器的命令菜單進入】**
4954

5055
![img](https://greasyfork.s3.us-east-2.amazonaws.com/grg0pe1t13eth8t012bd1absp9id)
51-
- 自定義目錄:https://xxx.xxx/book-**[20-99]**.html,https://xxx.xxx/book-**[01-10]**.html,意為下載book-20.html到book-99.html,以及book-01.html到book-10.html,使用**[1-10]**則不補0。
52-
- 章節選擇器自定義:輸入章節連結的css選擇器即可,後面可以接上url替換碼、以及自定義處理代碼。
53-
- 干擾碼:填入干擾碼的css選擇器,如`.mask,.ksam`意為刪除class為mask或者ksam的元素
56+
- 自定義目錄:`https://xxx.xxx/book-**[20-99]**.html,https://xxx.xxx/book-**[01-10]**.html`,意思為下載book-20.html到book-99.html,以及book-01.html到book-10.html,使用**[1-10]**則不補0。
57+
- 章節選擇器自定義:輸入章節連結的 css 選擇器即可,後面可以接上 url 替換碼、以及自定義處理代碼。
58+
- 干擾碼:填入干擾碼的 css 選擇器,如`.mask,.ksam`意為刪除 class 為 mask 或者 ksam 的元素
5459
- 按標題名重新排序:是則把目錄頁所有連結按標題名排序後存入txt,否則按頁面位置順序排列。
55-
- 下載線程數:同時下載的線程數,默認為20,遇到存在限制的站點可調低
60+
- 下載線程數:同時下載的線程數,默認為20,遇到存在限制的站點(例如下載時總有章節獲取失敗)可調低
5661

57-
### 自定義例子
58-
1. [***po18***](https://www.po18.tw/books/755779/articles),章節的選擇器為 `.l_chaptname>a` ,輸入並下載後發現通過 url 無法下載正文內容,正文是 ajax 通過 articlescontent 下載的。此時可後接 `@@articles@@articlescontent` (@@ 分隔) 將章節 url 中的 articles 替換為 articlescontent 。 綜上 **`.l_chaptname>a@@articles@@articlescontent`** 即可適配該站。其中第一個 articles 可使用正則,例如 `@@articles(\d+)@@$1content` 代表將連結中的「articles1」「articles2」等替換為「1content」「2content」。
59-
2. [***pixiv***](https://www.pixiv.net/novel/series/7807554),p站小說的章節選擇器為`main>section ul>li>div>a`,無需替換連結,因此後兩項留空。有6個@了 😂。正文在meta里,需要自定義代碼提取meta-preload數據的content項。綜上 **`main>section ul>li>div>a@@@@@@var noval=JSON.parse(data.querySelector("#meta-preload-data").content).novel;noval[Object.keys(noval)[0]].content;`** 即可下載p站小說。其中「data」代表抓取網頁的document對象,若返回的是純文本,則用 `data.body.innerText` 獲取。
62+
### 簡易自定義例子
63+
1. [po18](https://www.po18.tw/books/755779/articles),章節的選擇器為 `.l_chaptname>a` ,輸入並下載後發現通過 url 無法下載正文內容,正文是 ajax 通過 articlescontent 下載的。此時可後接 `@@articles@@articlescontent` (@@ 分隔) 將章節 url 中的 articles 替換為 articlescontent 。 綜上 【`.l_chaptname>a@@articles@@articlescontent`】 可適配該站,粘貼進命令菜單即可下載。其中第一個 articles 可使用正則,例如 `@@articles(\d+)@@$1content` 代表將連結中的「articles1」「articles2」等替換為「1content」「2content」。
64+
2. [pixiv](https://www.pixiv.net/novel/series/7807554),p站小說的章節選擇器為`main>section ul>li>div>a`,無需替換連結,因此後兩項留空。有6個@了 😂。正文在meta里,需要自定義代碼提取meta-preload數據的content項。綜上 【`main>section ul>li>div>a@@@@@@var noval=JSON.parse(data.querySelector("#meta-preload-data").content).novel;noval[Object.keys(noval)[0]].content;`】 即可下載p站小說。其中 "data" 代表抓取網頁的document對象,若返回的是純文本,則用 `data.body.innerText` 獲取。
65+
3. [紅薯中文網](https://g.hongshu.com/chapterlist/91735.do),這個站沒有目錄連結,此時可以遍歷標籤自己創建目錄連結下載【`ul#lists>li>>let href=item.getAttribute("onclick").replace(/.*(http.*html).*/,"$1"),innerText=item.querySelector("span").innerText;return {href:href,innerText:innerText};@@@@@@let rdtext=data.querySelector('div.rdtext');let sc=data.querySelector('div.ewm+script');if(sc&&rdtext){let code=sc.innerText.replace(/for\(var i=0x0;i<words.*/,"window.words=words;");eval(code);[].forEach.call(rdtext.querySelectorAll('span[class]'),span=>{let id=span.className.replace(/[^\d]/ig,"");span.innerText=words[id]}),rdtext.innerText};`
6066

6167
### 測試網頁
6268
+ http://www.gulongbbs.com/zhentan/bdlr/plje/Index.html
6369
+ http://www.jhshe.cn/thread-1837-1-1.html
6470
+ http://tieba.baidu.com/p/4871634479
6571

72+
### FAQ
73+
- 章節沒有「第幾章第幾節」的字樣怎麼辦?<br>
74+
參考第二層心法輸入其中一個章節名即可
75+
- 下載一定章節後失敗怎麼辦?<br>
76+
可能是網站限制了並發數,在設置中調低線程數即可
77+
- 按下快捷鍵無效怎麼辦?<br>
78+
可能是快捷鍵被其他應用接管了,使用腳本管理器中的命令菜單下載即可
79+
- 有無關干擾字符怎麼辦?<br>
80+
設置里輸入干擾碼css選擇器即可,多個選擇器用逗號分隔
81+
6682
### 為啥要寫這個腳本?
6783
主要是<img src="https://stickershop.line-scdn.net/stickershop/v1/product/8692/LINEStorePC/main.png;compress=true" width=50 alt="怠惰啊" title="怠惰啊"/>
84+
因為我要下載馳星周的漂流街,卻發現前人的輪子「【小說】下載腳本」不能用,又不想為這破站 🙃 寫規則,而且<del>我就是看不上霸道總裁修仙穿越你咬我啊</del>指不定它三天兩頭改個版呢。寫個通用規則的腳本,一來可以不用追著數不清的小說站適配修改更新,二來也免去了法律風險。
85+
這個腳本會自動去查找主要內容並下載,不需要寫規則。當然如果你家網站廣告內容比正文還多我也沒辦法。
86+
遇到特殊網站還是建議用「【小說】下載腳本」。

Easy offline/README.MD

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,24 @@
1010
* 鏡像文件 `iso`
1111
* 視頻文件 `mp4 rmvb mkv avi`
1212

13+
### 用法
14+
- 按下 **`F9`** 快速在當前網站禁用或啓用並記錄選擇
15+
- **`Alt + F9`** 自定義下載,選中文本則下載文字對應的鏈接,鼠標指向鏈接則下載該鏈接,沒有選中則彈框粘貼鏈接下載
16+
- 按住 **`Ctrl + Shift`** 點擊批量離線當前頁面中所有資源(如果我給該網盤寫了批量離線功能的話),實際也沒鳥用,度盤批量離線時動不動就網絡繁忙了
17+
- 網盤排序功能,設置頁面拖拽圖標即可進行排序
18+
- 網盤設置功能,點擊圖標可設置是否啓用網盤
19+
- 度盤默認下載路徑設置
20+
- 設置頁面填入正則表達式可增加支持鏈接,可設置是否僅當鼠標經過時顯示圖標
21+
- **`Alt + x`** 批量複製頁面資源
22+
1323
### 自定義設置示例
1424
* 安卓安裝包 `\.apk$`
1525
* 某服裝擴展 `\.Outfit\d{4}\.txx$`
1626
* 某ftp `^ftp:\/\/user:pass@127\.0\.0\.1`
1727
* 某帶參mp4視頻 `mp4\?[^\/]+$`
1828

1929
### 自定義例子 - Github鏡像加速下載,點擊下方導入
20-
配置方法在設置項内,有其他規則用`<pre>`標簽分享到反饋亦可點擊導入。例如此處的下載圖標:[Github](https://github.com/hoothin/imgCodeCheck/releases/tag/0.1)
30+
配置方法在設置項内,有其他規則用`<pre>`標簽分享到 [反饋](https://github.com/hoothin/UserScripts/issues) 亦可點擊導入。例如此處的下載圖標:[Github](https://github.com/hoothin/imgCodeCheck/releases/tag/0.1)
2131
<pre>
2232
https://download.fastgit.org/${https?://[^/]+(.*)}@@Fastgit@@github\.com.*(releases\/download|archive\/refs\/)@@@@ffff9f
2333
https://pd.zwc365.com/seturl/$url@@ZWC365@@github\.com.*(releases\/download|archive\/refs\/)@@@@0fffff
@@ -40,11 +50,24 @@ p:http://192.168.32.1:6800/jsonrpc?id=$random&jsonrpc=2.0&method=aria2.addUri&am
4050
</pre>
4151
導入后需要自行修改網址与 token 密鑰
4252

43-
### 自定義例子4 - 複製所有包含 “22590-easy-offline” 的連結為 markdown 格式(按住 ctrl 顯示圖標,使用 ctrl + shift 複製全部)
53+
### 自定義例子4 - 複製所有包含 “22590-easy-offline” 的連結為 markdown 格式
54+
(按住 Alt 顯示圖標,使用 ctrl + shift 複製全部)
4455
<pre>
4556
c:[$text "$title"]($url)@@Markdown@@22590-easy-offline@@@@df2a00@@1
4657
</pre>
4758

59+
### 自定義例子5 - 谷歌翻譯選中文本
60+
默認是按住Alt鍵划選
61+
<pre>
62+
https://translate.google.com/?client=gtx&dj=1&q=$text&sl=auto&tl=zh-CN&hl=zh-CN&ie=UTF-8&oe=UTF-8&source=icon&dt=t&dt=bd@@Translate@@@@data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAIAAAAlC+aJAAAACXBIWXMAAAsTAAALEwEAmpwYAAAExklEQVRoge2Y+08UVxTH/dNmtYRHwNKHDW1tIWl/sK1QbFoSitXa9i642wWxKIK0ysOCLBSwBSWQslpboD54SGVNbAkB0cqjIIic+5jTH2b2gczM7o7DzpLsyfeHzeydmfM5994z555dEoEdrV22e5AEsNuDJIDdHiQB7PYgCRBpRJoLDtazggbzym9g+fX0je+oDQCfXGDL62iJCRlbhnhcAdLdsPzUGu+D9uVPLH4A+Q00Gp/WNnBhFRfXogLoGRUJB1DZyyUC+05GNbjvThLANEDPmChqYVuVU0UlAqnHoaiZBfVZQO5unigAtQNmckhuDU0UgJ9HxKEmFlShjjLcIBHI9EBhEytsZKWXEmYGojEuMKucSgTc3Szh9kA0dmdGVu69fk8kNMBXHSzDDVkeeLQsh193dzOJwMsVFLQnIGEARqfVSJdfDnm6sIppLpAInOrnejcmCgAiHmpiEoGXSuHvf9VJIF1MIpBSBg83T0uCAvjn5D2lIBH44BxlHPsnhIOARKCyVzf8iQWAgW+wRKDEy1KPg0TgtUq6Yli9xhWgIBLAM4q5NaEqf7cThu5rJx97AAobdVJJwGaX5APnQgBpLuif0AaQA5qal1sGeTRqHuTFFyPX3iYBGMeLwyLdHYq98iOlDB6vGFPHZq3DEeqXmAG4wF//EuErp7iVPViSm37naS4gXREmLVaTEd85Y3QWjQFgbQM7b25yfW857R0XwZQ5syiPTOsmUNNW2Gi0kGIAuOYXjsBScTiBdLEoT2GJAoCI3/v4nlIo8TL/nPWRjgeAkHFhFSnHF2lVzD/BsWl5bFqemJE3oigXzQN8rLWJKccSL3v3DJ1fNTkJ4Y2JlkGjz/aLAmz9EiveK//ur6bzT2JmWFzDlLLQK/JqI0+BeYC3TtNwB8O9N81w4Q81r795Ss1mE7MRnmAeQCLQfoPreW+CQZbx7dNUIpBdQe8+kJXiT+/sZg2Ag8DRdtY7Lr5oYxKBTI/GmP3V1Dcprk6Kq5NidskI5taUWghV93NE/PA8lQhkuOEpbBvAc+qbEAUNRo9r+9NoU37dySQCDidML8iI+MuIytM9alQCWglw/Z5YBzRgMABYWUel5D5Yr27ctQ31BPfReaNVZCXANb9AxHXAombth3qHdQHab6jbtycs3sohzuGEqXndtWclwG9+9d2M42GtPf3KCfrPY21X3q+jEoH0zSv+9pR6tq7q0yXfFgCFQYnfVoa5/55n8M+pju47Sb/t4UG5urlyLs2uoFQHwUqADDfdWx5Slke70M2pog83M1RcjtyWHLirvZWtBIheOVU02Jt4RlFBdRA4cYWf9fE6H6/z8doBXjvAP29V/fv0R+2tbA+AwvBoRUbEK+Nqujzwg0bhsLKOqS6QCOx2wta1ZydAbg1VDgz5gbTbdUt7mX/TqQ6o82kMsAcgt4YuriIizizKWeWQ6YHsCtDruAzdF5keyPRAXi0VW+bABoC8QOwtsXgDBGO/IwHyauiCpd7HG8C4mNsBAMWtFveFgOGrlWb7QibkINBxM0J7NCbvnZcidBe3JQu9d5Ye62DhOtqurcNtrMTLSrzsyObrxzrYkXb2umHstxEgnkoC2K0kgN1KAtitJIDd+h//4oa1H68RnAAAAABJRU5ErkJggg==@@4085f9
63+
</pre>
64+
65+
### 自定義例子6 - 去除選中連結中的表情漢字並跳轉
66+
默認是按住Alt鍵劃選,比如h❤ttps://補丁baidu.😀com
67+
<pre>
68+
$text{[^\w\-_\.~!\*'();:@&=\+\$,\/\?#\[\]%]}@@GetLink@@@@@@f9ff9f
69+
</pre>
70+
4871

4972
### Update
5073
- **`Alt + F9`** 自定義下載,選中文本超鏈則下載文本超鏈,鼠標指向鏈接則下載鏈接,沒有選中則彈框輸入鏈接下載

Pagetual/README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,9 @@ Rules example
2222
"css":".javascript-hide {display: inline-block !important;}"
2323
},
2424
{
25-
"name":"tieba",
26-
"action":1,
27-
"url":"^https:\/\/tieba\\.baidu.com\/f\\?kw=",
28-
"pageElement":"ul#thread_list>li",
29-
"nextLink":".next.pagination-item "
25+
"name":"beauty",
26+
"url":"^https://www\\.jpmn8\\.com/",
27+
"pageElement":"p>img"
3028
},
3129
{
3230
"name":"xxgame",

0 commit comments

Comments
 (0)