diff --git a/controllers/cms.py b/controllers/cms.py index 181dbaed3bf3a7927f796a9c2ec3f8d1ee0aadce..332630a09a782d916901860028c85fe717345182 100644 --- a/controllers/cms.py +++ b/controllers/cms.py @@ -638,19 +638,28 @@ class CMS: # print(title) obj['title'] = title if p.get('desc'): - p1 = p['desc'].split(';') - desc = '\n'.join([pdfh(html,i).replace('\n',' ') for i in p1]) - obj['desc'] = desc + try: + p1 = p['desc'].split(';') + desc = '\n'.join([pdfh(html,i).replace('\n',' ') for i in p1]) + obj['desc'] = desc + except: + pass if p.get('content'): p1 = p['content'].split(';') - content = '\n'.join([pdfh(html,i).replace('\n',' ') for i in p1]) - obj['content'] = content + try: + content = '\n'.join([pdfh(html,i).replace('\n',' ') for i in p1]) + obj['content'] = content + except: + pass if p.get('img'): - p1 = p['img'].split(';') - img = '\n'.join([pdfh(html,i).replace('\n',' ') for i in p1]) - obj['img'] = img + p1 = p['img'] + try: + img = pd(html,p1) + obj['img'] = img + except Exception as e: + logger.info(f'二级图片定位失败,但不影响使用{e}') vod = { "vod_id": detailUrl, @@ -792,8 +801,14 @@ class CMS: # print(item) try: title = pdfh(item, p[1]) - img = pd(item, p[2]) - desc = pdfh(item, p[3]) + try: + img = pd(item, p[2]) + except: + img = '' + try: + desc = pdfh(item, p[3]) + except: + desc = '' # link = '$'.join([pd(item, p4) for p4 in p[4].split('+')]) links = [pd(item, p4) if not self.detailUrl else pdfh(item, p4) for p4 in p[4].split('+')] link = '$'.join(links) diff --git a/js/AnFuns.js b/js/AnFuns.js new file mode 100644 index 0000000000000000000000000000000000000000..28d6f76d0bf8f450fb186d8498a66bcd8d7c3499 --- /dev/null +++ b/js/AnFuns.js @@ -0,0 +1,8 @@ +muban.海螺3.二级.desc = '.hl-text-conch&&Text'; +var rule = Object.assign(muban.海螺3,{ + title:'AnFuns动漫', + host:'https://www.anfuns.cc', + cate_exclude: '最新|排行', + url:'/type/fyclass-fypage.html', + searchUrl:'/search/page/fypage/wd/**.html', +}); \ No newline at end of file diff --git a/js/l0l.js b/js/l0l.js new file mode 100644 index 0000000000000000000000000000000000000000..d3c78093ea1293f6320d281329fda864a7f9ffa0 --- /dev/null +++ b/js/l0l.js @@ -0,0 +1,10 @@ +muban.海螺2.二级.content = '.play-m-box&&Text'; +muban.海螺2.二级.desc = '.play-news&&Text'; +muban.海螺2.二级.img = ''; +var rule = Object.assign(muban.海螺2,{ + title:'l0l', + host:'https://www.l0l.tv', + class_parse:'.index-tag&&li;a&&.title&&Text;a&&href;.*/(.*?).html', + searchUrl:'/index.php/vod/search/page/fypage/wd/**.html', + 搜索:'.searchlilst&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', +}); \ No newline at end of file diff --git a/js/version.txt b/js/version.txt index 6a3913b0491b710b18b12b4d6b970230a87f5eb3..132d9f7707dbb148709d0dd5d269bb4e25987024 100644 --- a/js/version.txt +++ b/js/version.txt @@ -1 +1 @@ -3.2.7 \ No newline at end of file +3.2.8 \ No newline at end of file diff --git "a/js/\345\260\217\347\214\253\345\222\252.js" "b/js/\345\260\217\347\214\253\345\222\252.js" new file mode 100644 index 0000000000000000000000000000000000000000..b204edd20580f326ca7242b5979f663592284f3d --- /dev/null +++ "b/js/\345\260\217\347\214\253\345\222\252.js" @@ -0,0 +1,5 @@ +muban.海螺3.二级.content = '.hl-infos-content&&Text'; +var rule = Object.assign(muban.海螺3,{ + title:'小猫咪', + host:'https://xmaomi.net', +}); \ No newline at end of file diff --git "a/js/\346\250\241\346\235\277.js" "b/js/\346\250\241\346\235\277.js" index ac1aaec8c96a2d10e884adc483142fd84f9d9943..e1f7cef1210421044a499be1b8967e10456cd5fd 100644 --- "a/js/\346\250\241\346\235\277.js" +++ "b/js/\346\250\241\346\235\277.js" @@ -95,7 +95,49 @@ vfed:{ 一级:'.fed-list-info&&li;a.fed-list-title&&Text;a&&data-original;.fed-list-remarks&&Text;a&&href', 二级:{"title":"h1.fed-part-eone&&Text;.fed-deta-content&&.fed-part-rows&&li&&Text","img":".fed-list-info&&a&&data-original","desc":".fed-deta-content&&.fed-part-rows&&li:eq(1)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(2)&&Text;.fed-deta-content&&.fed-part-rows&&li:eq(3)&&Text","content":".fed-part-esan&&Text","tabs":".fed-drop-boxs&&.fed-part-rows&&li","lists":".fed-play-item:eq(#id)&&ul:eq(1)&&li"}, 搜索:'.fed-deta-info;h1&&Text;.lazyload&&data-original;.fed-list-remarks&&Text;a&&href;.fed-deta-content&&Text', -} +}, +海螺3:{ + title:'', + host:'', + searchUrl:'/v_search/**----------fypage---.html', + url:'/vod_____show/fyclass--------fypage---.html', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_parse:'body&&.hl-nav li:gt(0);a&&Text;a&&href;.*/(.*?).html', + limit:40, + play_parse:true, + lazy:'', + 推荐:'.hl-vod-list;li;a&&title;a&&data-original;.remarks&&Text;a&&href', + double:true, + 一级:'.hl-vod-list&&.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + 二级:{"title":".hl-infos-title&&Text;.hl-text-conch&&Text","img":".hl-lazy&&data-original","desc":".hl-infos-content&&.hl-text-conch&&Text","content":".hl-content-text&&Text","tabs":".hl-tabs&&a","lists":".hl-plays-list:eq(#id)&&li"}, + 搜索:'.hl-list-item;a&&title;a&&data-original;.remarks&&Text;a&&href', + searchable:1, + quickSearch:1, +}, +海螺2:{ + title:'', + host:'', + searchUrl:'/index.php/vod/search/page/fypage/wd/**/', + url:'/index.php/vod/show/id/fyclass/page/fypage/', + headers:{ + 'User-Agent':'MOBILE_UA' + }, + timeout:5000, + class_parse:'#nav-bar li;a&&Text;a&&href;id/(.*?)/', + limit:40, + play_parse:true, + lazy:'', + 推荐:'.list-a.size;li;a&&title;.lazy&&data-original;.bt&&Text;a&&href', + double:true, + 一级:'.list-a&&li;a&&title;.lazy&&data-original;.list-remarks&&Text;a&&href', + 二级:{"title":"h2&&Text;.deployment&&Text","img":".lazy&&data-original","desc":".deployment&&Text","content":".ec-show&&Text","tabs":"#tag&&a","lists":".play_list_box:eq(#id)&&li"}, + 搜索:'.search-list;a&&title;.lazy&&data-original;.deployment&&Text;a&&href', + searchable:1, + quickSearch:1, +}, }; \ No newline at end of file diff --git "a/js/\350\277\275\345\211\247\345\226\265.js" "b/js/\350\277\275\345\211\247\345\226\265.js" new file mode 100644 index 0000000000000000000000000000000000000000..18f314da830a716080fa5adb85b2df605485dda9 --- /dev/null +++ "b/js/\350\277\275\345\211\247\345\226\265.js" @@ -0,0 +1,5 @@ +// muban.海螺2.二级.content = '.hl-infos-content&&Text'; +var rule = Object.assign(muban.海螺2,{ + title:'追剧喵', + host:'https://zjmiao.com', +}); \ No newline at end of file diff --git a/models/rules.db b/models/rules.db index 6c473b3bb1266f26a1a0970fedce15eb8895ac57..7b04b7008ad5346a7f31283d0307bd12295e9533 100644 Binary files a/models/rules.db and b/models/rules.db differ diff --git a/readme.md b/readme.md index 1577d3d711b8c3c549058a2297385f96bdbb2a2f..5ef03ba388537295ddb27cda8f1015ebcea6aac2 100644 --- a/readme.md +++ b/readme.md @@ -52,6 +52,7 @@ - [X] 3.js源增加cate_exlude参数 - [X] 4.增加腾云驾雾源(二级暂未完善,后面再说) - [X] 5.完善腾云驾雾源,修复直播下载乱码,修复网站强制证书验证 +- [X] 6.升级到3.2.8,增加两套模板和多个对应源 ###### 2022/09/06 - [X] 1.增加了后台管理界面在线检测升级系统功能 - [X] 2.增加了后台管理界面修改直播源地址和同步直播源 diff --git a/utils/htmlParser.py b/utils/htmlParser.py index 9d00e937a75e8191ce9c25b1f97f7adf14e16ad8..c245a4e511b11a17a5c812474a125778f4a8398a 100644 --- a/utils/htmlParser.py +++ b/utils/htmlParser.py @@ -43,7 +43,11 @@ class jsoup: else: ret = ret.attr(option) if add_url and option in ['url','src','href','data-original','data-src']: - ret = urljoin(self.MY_URL,ret) + if 'http' in ret: + ret = ret[ret.find('http'):] + else: + ret = urljoin(self.MY_URL,ret) + # print(ret) else: # ret = doc(parse+':first') ret = doc(parse) # 由于是生成器,直接转str就能拿到第一条数据,不需要next