let get = () => {
let parseCode = str => {
let si = str.indexOf("(");
let li = str.lastIndexOf(")") + 1;
str = str.slice(si, li);
return new Function(`"use strict";return (${str})`)();
};
let getJson = () => {
let code = [...document.scripts].find(script => script.textContent.includes('x6c"]')).textContent;
let data = parseCode(code);
let si = data.indexOf("{");
let li = data.lastIndexOf("}") + 1;
data = data.slice(si, li);
return JSON.parse(data);
};
let {
files,
path,
sl: {
e,
m
}
} = getJson();
let serv = SMH.picserv.getHostName(pVars.curHost);
return files.map(f => `https://${serv}.hamreus.com${path}${f}?e=${e}&m=${m}`);
};
get();
好評
但有幾點瑕疵
1.取得圖片網址是調用SMH.utils.goPage,需要等待加載來擷取圖片網址,也同時等於對所有圖片發送出了請求,併發上限等於虛設,這樣很容易被Manhuagui屏蔽IP一段時間。
2.可能是因為取得圖片網址的方式,在單行本上使用會有一段時間無法操作,SMH.utils.goPage加載圖片後會一直返回頂部。
例如https://www.manhuagui.com/comic/25882/726481.html
建議直接解析混淆代碼來取得圖片網址