mirror of
				https://github.com/ls125781003/tvboxtg.git
				synced 2025-10-30 21:32:23 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			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);
 | |
|     }),
 | |
| } |