jul11co-mangadl
Version:
Jul11co Web Manga Downloader
89 lines (72 loc) • 2.76 kB
JavaScript
var path = require('path');
module.exports = {
name: 'Manga24h',
website: 'http://manga24h.me',
match: function(link, options) {
return /manga24h\./g.test(link);
},
dispatch: function(saver, $, page, options, callback) {
if (options.group_by_site && !options.orig_output_dir) {
options.orig_output_dir = options.output_dir;
options.output_dir = path.join(options.output_dir, 'Manga24h');
saver.setMangaOutputDir(options.output_dir);
}
if ($('#manga-chapt-detail-content').length) {
page.title = $('title').first().text();
if (page.title) {
page.title = page.title.replace(/(\r\n|\n|\r)/gm, '');
}
// saver.saveHtmlFile($, page, options);
var chapter_title = page.title.replace(' - Đọc truyện online', '');
var chapter_images = [];
var chapter_script = $('#manga-chapt-detail-content script').html();
if (chapter_script) {
var tmp = chapter_script.substring(chapter_script.indexOf("data='")+6);
tmp = tmp.substring(0, tmp.indexOf("';"));
var tmp_images = tmp.split("|");
if (options.verbose) console.log(tmp_images);
var image_file_names = [];
tmp_images.forEach(function(image_src) {
var image_url = image_src;
var image_url_obj = urlutil.parse(image_url);
var image_file_name = path.basename(image_url_obj.pathname);
image_file_name = saver.getUniqueFileName(image_file_names, image_file_name);
chapter_images.push({
src: image_url,
file: image_file_name
});
});
} else {
chapter_images = saver.getImages($, page, '#chapcontent');
}
if (options.verbose) console.log(chapter_images);
saver.downloadMangaChapter({
chapter_url: page.url,
chapter_title: chapter_title,
chapter_images: chapter_images,
output_dir: page.output_dir
}, options, function(err) {
if (err) return callback(err);
callback();
});
} else if ($('.chapt-table').length) {
console.log('Chapter list');
// if (options.group_by_site) {
// options.output_dir = path.join(options.output_dir, 'Manga24h');
// saver.setMangaOutputDir(options.output_dir);
// }
saver.setStateData('url', page.url);
page.chapter_links = saver.getLinks($, page, '.chapt-table');
if (options.verbose) console.log(page.chapter_links);
console.log(page.chapter_links.length + ' chapters');
saver.processPages(page.chapter_links, options, function(err) {
if (err) {
return callback(err);
}
callback();
});
} else {
callback();
}
}
}