113 lines
3.7 KiB
JavaScript
113 lines
3.7 KiB
JavaScript
function verifyLogin(key) {
|
|
let cnt = 0;
|
|
let cookie = '';
|
|
let content = '';
|
|
let yzm_url = 'https://www.cpldq.com/include/vdimgck.php';
|
|
log(`验证码链接:${yzm_url}`);
|
|
let submit_url = 'https://www.cpldq.com/search.php?scheckAC=check&page=1&searchtype=&order=&tid=&area=&year=&letter=&yuyan=&state=&money=&ver=&jq=';
|
|
log(`post登录链接:${submit_url}`);
|
|
while (cnt < OCR_RETRY) {
|
|
try {
|
|
let {cookie, html} = reqCookie(yzm_url + '?t=' + new Date().getTime(), {toBase64: true});
|
|
let code = OcrApi.classification(html);
|
|
let code1 = eval(code.slice(0, -1));
|
|
log(`第${cnt + 1}次验证码识别结果:${code}->${code1}`);
|
|
html = post(submit_url, {
|
|
headers: {Cookie: cookie},
|
|
body: 'validate=' + code1 + '&searchword=' + key,
|
|
});
|
|
if (/相关搜索结果/.test(html)) {
|
|
content = html;
|
|
return {cookie, html: content} // 需要返回cookie
|
|
} else if (!/相关搜索结果/.test(html) && cnt + 1 >= OCR_RETRY) {
|
|
cookie = ''; // 需要清空返回cookie
|
|
}
|
|
} catch (e) {
|
|
log(`第${cnt + 1}次验证码提交失败:${e.message}`);
|
|
if (cnt + 1 >= OCR_RETRY) {
|
|
cookie = '';
|
|
}
|
|
}
|
|
cnt += 1
|
|
}
|
|
return {cookie, html: content}
|
|
}
|
|
|
|
globalThis.verifyLogin = verifyLogin;
|
|
|
|
var rule = {
|
|
title: '一起看[优]',
|
|
host: 'http://www.cpldq.com',
|
|
url: '/cptype/fyclass-fypage.html',
|
|
searchUrl: '/search.php?page=fypage&searchword=**&searchtype=',
|
|
searchable: 0,
|
|
quickSearch: 0,
|
|
filterable: 1,
|
|
filter: '',
|
|
filter_url: '',
|
|
headers: {
|
|
'User-Agent': 'MOBILE_UA',
|
|
},
|
|
timeout: 5000,
|
|
class_parse: '.sb_login_alert_box&&li;a&&Text;a&&href;/(\\d+)\.html',
|
|
cate_exclude: '',
|
|
play_parse: true,
|
|
lazy: $js.toString(() => {
|
|
input = {parse: 1, url: input, js: ''};
|
|
}),
|
|
double: true,
|
|
推荐: '.main&&.bgte1130;ul&&.sb-film-one;*;*;*;*',
|
|
一级: '.sb-area-index&&ul&&.qcontainer;i&&Text;.lazy&&data-original;.other&&Text;a&&href',
|
|
二级: {
|
|
title: '.name&&Text;.ct&&dd&&Text',
|
|
img: '.lazy&&data-original',
|
|
desc: '.ct&&dd:eq(1)&&Text;.ct&&dd:eq(2)&&Text;.ct&&dt:eq(2)&&Text;.ct&&dt&&Text;',
|
|
content: 'div.ee&&Text',
|
|
tabs: '.playfrom&&li',
|
|
lists: '.playlist:eq(#id)&&ul&&li:not(:contains(滈凊))',
|
|
tab_text: 'body--sup&&Text',
|
|
list_text: 'body&&Text',
|
|
list_url: 'a&&href'
|
|
},
|
|
//搜索: '*',
|
|
搜索: $js.toString(() => {
|
|
let cookie = getItem(RULE_CK, '') + ';ssea2_search=ok';
|
|
log('储存的cookie:' + cookie);
|
|
let ret = request(MY_URL, {
|
|
headers: {
|
|
Cookie: cookie,
|
|
}
|
|
});
|
|
if (/系统安全验证/.test(ret)) {
|
|
let login = verifyLogin(KEY);
|
|
cookie = login.cookie;
|
|
if (cookie) {
|
|
log(`本次成功过验证,cookie:${cookie}`);
|
|
setItem(RULE_CK, cookie);
|
|
} else {
|
|
log(`本次自动过搜索验证失败,cookie:${cookie}`);
|
|
}
|
|
ret = login.html;
|
|
// ret = request(MY_URL, {
|
|
// headers: {
|
|
// Cookie: cookie,
|
|
// }
|
|
// });
|
|
}
|
|
let d = [];
|
|
let p = rule.一级.split(';');
|
|
let arr = pdfa(ret, p[0]);
|
|
arr.forEach(it => {
|
|
d.push({
|
|
title: pdfh(it, p[1]),
|
|
pic_url: pdfh(it, p[2]),
|
|
desc: pdfh(it, p[3]),
|
|
|
|
url: pdfh(it, p[4]),
|
|
content: '',
|
|
});
|
|
|
|
});
|
|
setResult(d);
|
|
}),
|
|
} |