Skip to content

Commit

Permalink
v1.8.20190120
Browse files Browse the repository at this point in the history
  • Loading branch information
kanasimi committed Jan 20, 2019
1 parent bec960a commit d35c783
Show file tree
Hide file tree
Showing 15 changed files with 73 additions and 32 deletions.
8 changes: 4 additions & 4 deletions .github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
<!--
感謝您的愛用並回報問題。 **回報問題時請將標題填詳細完整一些。**
有些問題在最新版本已修復完畢,您可能得要確認使用的是最新版本的下載工具
有些問題在最新版本已修復完畢,您可能得要確認使用的是最新版本的線上作品下載工具
若是您使用後問題已解決,請記得回來關掉本議題。仍發現有相關問題的話,可重開這個議題。
遇到不同的問題,請另外開個議題來修正。
本工具以修正錯誤為主,由於人力有限,只能把精力放在維護常用的網站。新增網站僅在行有餘力時為之,請見諒。
英文或韓文的網站麻煩您利用 Free Manga Downloader 之類軟體會比較好。這邊幾乎不會上英文或者韓文的漫畫網站,就算做了出來也很少在做維護,沒有專門看英文韓文網站的工具維護得勤勞
英語或韓語的網站煩請利用 Free Manga Downloader 之類軟體會比較好。這邊幾乎不會上英語或者韓語網站,就算做了出來也很少在做維護,沒有專門看英語韓語網站的工具維護得勤勞
新增網站時,請 **一個網站開一個議題,除了在標題說明要新增網站,並加上網站名稱**。
另外增加網站往往要耗費時間、作許多考量,之後還需維護;請確認網站經常更新、付費作品不多,並附個其他網站未揭載之作品。
請在提交問題的同時,附帶如下信息,方便我們盡快幫您解決問題,謝謝。
Thank you for reporting an issue.
Plese fill the template when you reporting a new issue, thanks!
Thank you for reporting issues.
Plese fill the template when you reporting a new issue, thank you!
-->

Expand Down
2 changes: 1 addition & 1 deletion arrangement/classify_and_compress.js
Original file line number Diff line number Diff line change
Expand Up @@ -522,7 +522,7 @@ function classify(fso_name, fso_path, fso_status, sub_fso_list) {

if (
// "1", "12-13-15", "3211231", "2014"
/^(?:[\d\- ]*|Ongoing|Eng?|English(?:-Uncen)?|korean|kor|Jap|Japanese|RUS|英訳|中国語|更正|GIFs?|CG|mp3|FLAC|APE)$/i
/^(?:[\d\- ]*|Ongoing|Eng?|English(?:-Uncen)?|korean|kor|Jap|Japanese|RUS|英訳|中国語|更正|GIFs?|CG|mp3|FLAC|APE|文庫版?)$/i
.test(matched[1])) {
// [Pixiv] 60枚 (3322006).zip
} else if (matched[1] !== '仮') {
Expand Down
9 changes: 5 additions & 4 deletions comic.cmn-Hans-CN/comic.cmn-Hans-CN.bat
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
@ECHO OFF
REM This is a batch file to show how to execute every crawler in one click. You must setup .txt title list file first.

REM parallelly
REM chcp 65001
chcp 936
REM chcp 936
REM cd/d D:\USB\cgi-bin\program\comic

REM CD "%~n0"
FORFILES /M *.js /C "cmd.exe /c IF @isdir==FALSE node @file [email protected] || PAUSE"
REM It's often too slow, so trying to execute parallelly.
FORFILES /M *.js /C "cmd.exe /c IF @isdir==FALSE START node @file [email protected] || PAUSE"

REM CD ..
14 changes: 9 additions & 5 deletions comic.cmn-Hans-CN/dagu.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,7 @@ var crawler = new CeL.work_crawler({
: matched[1].replace('/', '-'));
id_data.push(get_label(matched[2]));
}, this);
// console.log([ id_list, id_data ]);
return [ id_list, id_data ];
},

Expand Down Expand Up @@ -107,10 +108,12 @@ var crawler = new CeL.work_crawler({
work_data.chapter_list.push(chapter_data);
}
work_data.chapter_list.reverse();
// console.log(work_data.chapter_list);
},

pre_parse_chapter_data
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。必須自行保證不丟出異常。
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。
// 必須自行保證執行 callback(),不丟出異常、中斷。
: function(XMLHttp, work_data, callback, chapter_NO) {
var chapter_data = work_data.chapter_list[chapter_NO - 1],
//
Expand Down Expand Up @@ -161,11 +164,12 @@ var crawler = new CeL.work_crawler({
chapter_data.image_list = [];
extract_image(XMLHttp);

CeL.run_serial(function(run_next, NO, index) {
var image_page_url = url.replace(/(\.[^.]+)$/, '_' + NO + '$1');
CeL.run_serial(function(run_next, image_NO, index) {
var image_page_url = url.replace(/(\.[^.]+)$/, '_' + image_NO
+ '$1');
// console.log('Get #' + index + ': ' + image_page_url);
process.stdout.write('Get image pages of #' + chapter_NO + ': '
+ NO + '/' + image_count + '...\r');
process.stdout.write('Get image data pages of #' + chapter_NO
+ ': ' + image_NO + '/' + image_count + '...\r');
_this.get_URL(image_page_url, function(XMLHttp) {
extract_image(XMLHttp);
run_next();
Expand Down
44 changes: 32 additions & 12 deletions comic.cmn-Hans-CN/dm5.js
Original file line number Diff line number Diff line change
Expand Up @@ -75,18 +75,28 @@ var crawler = new CeL.work_crawler({
var work_data = {
// 必要屬性:須配合網站平台更改。
title : get_label(html.between('<p class="title">',
'<span class="right">')),
'<span class="right">')
// 土豪漫画
|| html.between('<h1>', '</h1>')),

// 選擇性屬性:須配合網站平台更改。
author : get_label(html.between('<p class="subtitle">', '</p>')
.replace(/^.*?[::]/, '')),
// e.g., "<p class="subtitle">作者:...图:.../文:...</p>"
author : get_label(html.between('<p class="subtitle">', '</p>')),
description : get_label(html.between('<p class="content"', '</p>')
.between('>').replace(/<a href="#[^<>]+>.+?<\/a>/g, '')),
image : html.between('<img src="', '"'),
score : html.between('<span class="score">', '</span>'),
part_list : part_list
// 土豪漫画: <em class="remind">每周六更</em>
next_update : html.between(' class="remind">', '<'),
part_list : part_list,
// reset work_data.chapter_list
chapter_list : []
};

if (!/[::][^::]+?[::]/.test(work_data.author)) {
work_data.author = work_data.author.replace(/^.*?[::]/, '');
}

if (matched) {
work_data.latest_chapter = matched[1];
}
Expand All @@ -101,18 +111,19 @@ var crawler = new CeL.work_crawler({
}
});

work_data.status = work_data.状态;
Object.assign(work_data, {
status : work_data.状态,
last_update : work_data.更新时间
});

return work_data;
},
get_chapter_list : function(work_data, html, get_label) {
// 1: 由舊至新
work_data.inverted_order = / DM5_COMIC_SORT\s*=\s*2/.test(html);
// 1: 由舊至新, 2: 由新至舊
work_data.inverted_order = !/ DM5_COMIC_SORT\s*=\s*1/.test(html);

html = html.between('detail-list-select', '<div class="index-title">');

// reset chapter_list
work_data.chapter_list = [];
var PATTERN_chapter = /<li>([\s\S]+?)<\/li>|<ul ([^<>]+)>/g, matched;
while (matched = PATTERN_chapter.exec(html)) {
if (matched[2]) {
Expand All @@ -122,7 +133,9 @@ var crawler = new CeL.work_crawler({
if (matched[2]
&& (matched[2] = work_data.part_list[matched[2][1]])) {
this.set_part(work_data, matched[2]);
} else if (!matched[0].includes(' class="chapteritem">')) {
} else if (!matched[0].includes(' class="chapteritem">')
// <ul style="display:none" class="chapteritem">
&& work_data.part_list.length > 0) {
CeL.error('get_chapter_list: Invalid NO: ' + matched[0]);
}
continue;
Expand All @@ -135,7 +148,12 @@ var crawler = new CeL.work_crawler({
// e.g., 古惑仔
|| get_label(matched
// for 七原罪 第168话 <十戒>歼灭计划
.replace(/ title="[^"]+"/, '')).replace(/\s+/g, ' '),
.replace(/ title="[^"]+"/, '')).replace(/\s+/g, ' ')
// 土豪漫画
|| get_label(matched
// <a href="/title/1.html" ...>title<span>(1P)</span>
// </a>
.match(/<a [^<>]+>([\s\S]+?)<\/span>/)[1]),

url : matched.between(' href="', '"')
};
Expand All @@ -145,10 +163,12 @@ var crawler = new CeL.work_crawler({
}
this.add_chapter(work_data, chapter_data);
}
// console.log(work_data);
},

pre_parse_chapter_data
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。必須自行保證不丟出異常。
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。
// 必須自行保證執行 callback(),不丟出異常、中斷。
: function(XMLHttp, work_data, callback, chapter_NO) {
if (!work_data.image_list) {
// image_list[chapter_NO] = [url, url, ...]
Expand Down
3 changes: 2 additions & 1 deletion comic.cmn-Hans-CN/hhcool.js
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,8 @@ var crawler = new CeL.work_crawler({
},

pre_parse_chapter_data
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。必須自行保證不丟出異常。
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。
// 必須自行保證執行 callback(),不丟出異常、中斷。
: function(XMLHttp, work_data, callback, chapter_NO) {
var html = XMLHttp.responseText;

Expand Down
2 changes: 1 addition & 1 deletion comic.cmn-Hans-CN/katui.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* 批量下載 卡推漫画 的工具。 Download katui comics.
*
* @see 733dm.js , archive/733dm.js
* @see archive/733dm.201811.js , archive/733dm.201808.js
*/

'use strict';
Expand Down
2 changes: 1 addition & 1 deletion comic.cmn-Hans-CN/mh160.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ var crawler = new CeL.work_crawler({
key : work_title
} ];
},
// @see archive/733dm.js comic.cmn-Hans-CN/katui.js
// @see archive/733dm.201808.js comic.cmn-Hans-CN/katui.js
parse_search_result : function(html) {
// console.log(html);
var id_list = [], id_data = [], matched, PATTERN =
Expand Down
3 changes: 2 additions & 1 deletion comic.cmn-Hans-CN/mrblue.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,8 @@ var crawler = new CeL.work_crawler({
return chapter_data;
},

after_get_images : function(image_list, work_data, chapter_NO) {
// 每個圖片下載結束都會執行一次。
after_get_image : function(image_list, work_data, chapter_NO) {
// console.log(image_list);
var latest_image_data = image_list[image_list.index];
// console.log(latest_image_data);
Expand Down
2 changes: 2 additions & 0 deletions comic.cmn-Hans-CN/nokiacn.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ var crawler = new CeL.work_crawler({
: matched[1].replace('/', '-'));
id_data.push(get_label(matched[2]));
}, this);
// console.log([ id_list, id_data ]);
return [ id_list, id_data ];
},

Expand Down Expand Up @@ -103,6 +104,7 @@ var crawler = new CeL.work_crawler({
work_data.chapter_list.push(chapter_data);
}
work_data.chapter_list.reverse();
// console.log(work_data.chapter_list);
},

parse_chapter_data : function(html, work_data) {
Expand Down
1 change: 1 addition & 0 deletions comic.cmn-Hans-CN/webtoon.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ var crawler = CeL.webtoon({
// https://www.webtoons.com/zh-hant/
language_code : 'zh-hant',

// 規範 work id 的正規模式;提取出引數中的作品id 以回傳。
extract_work_id : function(work_information) {
if (CeL.is_digits(work_information)
// e.g., webtoon 投稿新星專區 id 下載: "challenge_00000"
Expand Down
1 change: 1 addition & 0 deletions comic.ja-JP/ComicWalker.js
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,7 @@ var crawler = new CeL.work_crawler({
return;
// console.log(image_data);
if (image_data.meta.drm_hash === null) {
// e.g., 英雄の娘として生まれ変わった英雄は再び英雄を目指す
// 這個情況下所獲得的圖片內容似乎沒問題?
// CeL.warn('Bad image data?');
// console.log(image_data);
Expand Down
3 changes: 2 additions & 1 deletion comic.ja-JP/pixivcomic.js
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,8 @@ var crawler = new CeL.work_crawler({
},

pre_parse_chapter_data
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。必須自行保證不丟出異常。
// 執行在解析章節資料 process_chapter_data() 之前的作業 (async)。
// 必須自行保證執行 callback(),不丟出異常、中斷。
: function(XMLHttp, work_data, callback, chapter_NO) {
var _this = this, html = XMLHttp.responseText, url = html.between(
'<meta name="viewer-api-url" content="', '"');
Expand Down
9 changes: 9 additions & 0 deletions novel.ja-JP/novel.ja-JP.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
@ECHO OFF
REM serial
REM chcp 65001
chcp 932
REM cd/d D:\USB\cgi-bin\program\comic

REM CD "%~n0"
FORFILES /M *.js /C "cmd.exe /c if @isdir==FALSE node @file [email protected] || PAUSE"
REM CD ..
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name" : "work_crawler",
"version" : "1.7.20181207",
"version" : "1.8.20190120",
"main" : "gui_electron/gui_electron.js",
"description" : "CeJS online novels / comics downloader, CeJS 線上小說漫畫下載工具.",
"author" : {
Expand Down

0 comments on commit d35c783

Please sign in to comment.