mirror of
https://github.com/ls125781003/tvboxtg.git
synced 2025-10-26 11:02:17 +00:00
更新线路
潇洒线路:v07.31(14)
This commit is contained in:
374
潇洒/api.json
374
潇洒/api.json
@@ -72,46 +72,6 @@
|
||||
"url": "http://v.lkuys.cn"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "追忆",
|
||||
"name": "追忆|APP",
|
||||
"type": 3,
|
||||
"api": "csp_AppSy",
|
||||
"ext": {
|
||||
"url": "http://110.42.7.130:1866",
|
||||
"key1": "aassddwwxxllsx1x",
|
||||
"key2": "2083c87e98b6ce08",
|
||||
"key3": "2083c87e98b6ce08"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "行动",
|
||||
"name": "行动|APP",
|
||||
"type": 3,
|
||||
"api": "csp_AppSy",
|
||||
"ext": {
|
||||
"url": "http://160.202.246.9:2356",
|
||||
"key1": "aassddwwxxllsx1x",
|
||||
"key2": "aassddwwxxllsx1x",
|
||||
"key3": "aassddwwxxllsx1x"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "咖啡",
|
||||
"name": "咖啡|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "",
|
||||
"site": "https://omofun.lol/1.txt",
|
||||
"dataKey": "skdhalkshqklwkj1",
|
||||
"dataIv": "skdhalkshqklwkj1",
|
||||
"deviceId": "",
|
||||
"version": "109",
|
||||
"ua": "okhttp/3.10.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "魔方",
|
||||
"name": "魔方|APP",
|
||||
@@ -127,6 +87,80 @@
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "火猫",
|
||||
"name": "火猫丨APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "",
|
||||
"site": "https://cunchu8.obs.cn-north-4.myhuaweicloud.com/03.txt",
|
||||
"dataKey": "J6AIORKJ3PQOJKM9",
|
||||
"dataIv": "J6AIORKJ3PQOJKM9",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "若雪",
|
||||
"name": "若雪丨APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet2",
|
||||
"ext": {
|
||||
"url": "https://appcms.rx4k.top",
|
||||
"site": "",
|
||||
"dataKey": "ZX10ysTYZWtIJCTU",
|
||||
"dataIv": "ZX10ysTYZWtIJCTU",
|
||||
"deviceId": "",
|
||||
"version": "120"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "海豚",
|
||||
"name": "海豚丨APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet2",
|
||||
"ext": {
|
||||
"url": "https://qjappcms.htsp4k.top",
|
||||
"site": "",
|
||||
"dataKey": "R69yVluzg6yLpjp0",
|
||||
"dataIv": "R69yVluzg6yLpjp0",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "哔滴",
|
||||
"name": "哔滴丨APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet2",
|
||||
"ext": {
|
||||
"url": "",
|
||||
"site": "https://ooxooxooxooxoo-1259561579.cos.ap-chengdu.myqcloud.com/ip.json",
|
||||
"dataKey": "5ae8ee4bb95ea0ce",
|
||||
"dataIv": "5ae8ee4bb95ea0ce",
|
||||
"deviceId": "",
|
||||
"version": "120"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "丫丫",
|
||||
"name": "丫丫|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "http://tv.yy-fun.cc",
|
||||
"dataKey": "qkxnwkfjwpcnwycl",
|
||||
"dataIv": "qkxnwkfjwpcnwycl",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "小野",
|
||||
"name": "小野|APP",
|
||||
@@ -184,21 +218,6 @@
|
||||
"version": "119"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "麻花",
|
||||
"name": "麻花|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "http://124.223.27.166:130",
|
||||
"site": "",
|
||||
"dataKey": "q7gj4f9br3fls6nh",
|
||||
"dataIv": "q7gj4f9br3fls6nh",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "豆丁",
|
||||
"name": "豆丁|APP",
|
||||
@@ -215,23 +234,8 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "灵虎",
|
||||
"name": "灵虎|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "",
|
||||
"site": "https://bind.315999.xyz/89.txt",
|
||||
"dataKey": "#getapp@TMD@2025",
|
||||
"dataIv": "#getapp@TMD@2025",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "雄鹰",
|
||||
"name": "雄鹰|APP",
|
||||
"key": "蓝鹰",
|
||||
"name": "蓝鹰|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet2",
|
||||
@@ -258,20 +262,6 @@
|
||||
"version": "50000"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "蓝鹰",
|
||||
"name": "蓝鹰|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet2",
|
||||
"ext": {
|
||||
"url": "http://172.247.192.138:18520",
|
||||
"dataKey": "SuNlEkOLAoWJj1Oe",
|
||||
"dataIv": "SuNlEkOLAoWJj1Oe",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "仓鼠",
|
||||
"name": "仓鼠|APP",
|
||||
@@ -279,7 +269,8 @@
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet2",
|
||||
"ext": {
|
||||
"url": "https://newappcms.cs4k.top",
|
||||
"url": "",
|
||||
"site": "https://ceshi307386.oss-cn-beijing.aliyuncs.com/csurl.txt",
|
||||
"dataKey": "Z98KXaLtO2wC1Pte",
|
||||
"dataIv": "Z98KXaLtO2wC1Pte",
|
||||
"deviceId": "",
|
||||
@@ -344,20 +335,6 @@
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "海豚",
|
||||
"name": "海豚|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "http://getapp.hiapp.com.cn",
|
||||
"dataKey": "2268331221bobobo",
|
||||
"dataIv": "2268331221bobobo",
|
||||
"deviceId": "",
|
||||
"version": "107"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "溜溜",
|
||||
"name": "溜溜|APP",
|
||||
@@ -401,20 +378,6 @@
|
||||
"version": "300"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "雨滴",
|
||||
"name": "雨滴|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "https://c8w2ov7u5wg2z1o8p21c.aliyuncs.click:27899",
|
||||
"dataKey": "k9o3p2c8b7m3z0o8",
|
||||
"dataIv": "k9o3p2c8b7m3z0o8",
|
||||
"deviceId": "",
|
||||
"version": "100"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "萝卜",
|
||||
"name": "萝卜|APP",
|
||||
@@ -515,29 +478,14 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "樱桃",
|
||||
"name": "樱桃|APP",
|
||||
"key": "移动",
|
||||
"name": "移动|APP",
|
||||
"type": 3,
|
||||
"api": "csp_YD",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppMuou",
|
||||
"ext": {
|
||||
"url": "http://sp.dxgsp.cc",
|
||||
"dataKey": "25f9e794323b4538",
|
||||
"dataIv": "25f9e794323b4538",
|
||||
"jxurl": "https://ap.dxgsp.cc"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "趣看",
|
||||
"name": "趣看|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppMuou",
|
||||
"ext": {
|
||||
"url": "https://xjuzi.top",
|
||||
"dataKey": "6a482a70b80eefc9",
|
||||
"dataIv": "c995826a3e86fedd",
|
||||
"jxurl": "https://www.ququkan.cc"
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -678,17 +626,6 @@
|
||||
"changeable": 1,
|
||||
"ext": "./json/ex.json"
|
||||
},
|
||||
{
|
||||
"key": "大玩",
|
||||
"name": "大玩|4K弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_PanWebShare",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"changeable": 1,
|
||||
"ext": "./json/dawo.json"
|
||||
},
|
||||
{
|
||||
"key": "虎斑",
|
||||
"name": "虎斑|4K弹幕",
|
||||
@@ -711,17 +648,6 @@
|
||||
"changeable": 1,
|
||||
"ext": "./json/sd.json"
|
||||
},
|
||||
{
|
||||
"key": "奥秘",
|
||||
"name": "奥秘|4K弹幕",
|
||||
"type": 3,
|
||||
"api": "csp_PanWebShare",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"changeable": 1,
|
||||
"ext": "./json/am.json"
|
||||
},
|
||||
{
|
||||
"key": "百家",
|
||||
"name": "百家|4K弹幕",
|
||||
@@ -893,17 +819,6 @@
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "移动",
|
||||
"name": "移动|4K",
|
||||
"type": 3,
|
||||
"api": "csp_YD",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"style": {
|
||||
"type": "list"
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "糖果",
|
||||
"name": "糖果|搜索",
|
||||
@@ -1011,16 +926,6 @@
|
||||
"filterable": 1,
|
||||
"ext": "./XYQHiker/短剧屋.json"
|
||||
},
|
||||
{
|
||||
"key": "起点",
|
||||
"name": "起点|影视",
|
||||
"type": 3,
|
||||
"api": "csp_AppYsV2",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"ext": "http://172.83.156.150:1010/api.php/app/"
|
||||
},
|
||||
{
|
||||
"key": "七七",
|
||||
"name": "七七|影视",
|
||||
@@ -1072,17 +977,6 @@
|
||||
"filterable": 1,
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"key": "想看影视",
|
||||
"name": "想看|影视",
|
||||
"type": 3,
|
||||
"api": "./py/想看影视.py",
|
||||
"searchable": 1,
|
||||
"changeable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1,
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"key": "追星影视",
|
||||
"name": "追星|影视",
|
||||
@@ -1116,7 +1010,8 @@
|
||||
"key": "云播影视",
|
||||
"name": "云播|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Tvyb"
|
||||
"api": "csp_Tvyb",
|
||||
"ext": "http://www.viptv01.com"
|
||||
},
|
||||
{
|
||||
"key": "奇优影视",
|
||||
@@ -1147,15 +1042,6 @@
|
||||
"api": "csp_Jiaozi",
|
||||
"playerType": 2
|
||||
},
|
||||
{
|
||||
"key": "尘落影视",
|
||||
"name": "尘落|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Wetv",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"ext": "https://v.wetv.wang"
|
||||
},
|
||||
{
|
||||
"key": "鸭梨影视",
|
||||
"name": "鸭梨|影视",
|
||||
@@ -1196,15 +1082,6 @@
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "快看影视",
|
||||
"name": "快看|影视",
|
||||
"type": 3,
|
||||
"api": "csp_Kuaikan",
|
||||
"searchable": 1,
|
||||
"quickSearch": 1,
|
||||
"filterable": 1
|
||||
},
|
||||
{
|
||||
"key": "采集之王",
|
||||
"name": "采集|合集",
|
||||
@@ -1235,13 +1112,6 @@
|
||||
"api": "csp_HBPQ",
|
||||
"ext": "./XBPQ/麦田影视.json"
|
||||
},
|
||||
{
|
||||
"key": "海纳影视",
|
||||
"name": "海纳|影视",
|
||||
"type": 3,
|
||||
"api": "csp_HBPQ",
|
||||
"ext": "./XBPQ/海纳影视.json"
|
||||
},
|
||||
{
|
||||
"key": "免费影视",
|
||||
"name": "免费|影视",
|
||||
@@ -1436,15 +1306,16 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "米饭动漫",
|
||||
"name": "米饭|动漫",
|
||||
"key": "多多动漫",
|
||||
"name": "多多|动漫",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "http://45.43.29.111:9527",
|
||||
"dataKey": "GETMIFUNGEIMIFUN",
|
||||
"dataIv": "GETMIFUNGEIMIFUN",
|
||||
"url": "",
|
||||
"site": "https://app.cf4k.xyz/1.txt",
|
||||
"dataKey": "qqqqqqqqqqqqqqqq",
|
||||
"dataIv": "qqqqqqqqqqqqqqqq",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
@@ -1477,20 +1348,6 @@
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "丫丫",
|
||||
"name": "丫丫|APP",
|
||||
"type": 3,
|
||||
"quickSearch": 1,
|
||||
"api": "csp_AppGet",
|
||||
"ext": {
|
||||
"url": "http://tv.yy-fun.cc",
|
||||
"dataKey": "qkxnwkfjwpcnwycl",
|
||||
"dataIv": "qkxnwkfjwpcnwycl",
|
||||
"deviceId": "",
|
||||
"version": ""
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "黑猫动漫",
|
||||
"name": "黑猫|动漫",
|
||||
@@ -2241,52 +2098,7 @@
|
||||
]
|
||||
}
|
||||
],
|
||||
"lives": [
|
||||
{
|
||||
"name": "AI直播",
|
||||
"type": 0,
|
||||
"url": "https://github.3x25.com/https://raw.githubusercontent.com/PizazzGY/TV/master/output/user_result.txt",
|
||||
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}",
|
||||
"playerType": 1,
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "Guovin",
|
||||
"type": 0,
|
||||
"url": "https://gitee.com/mytv-android/iptv-api/raw/master/output/result.m3u",
|
||||
"epg": "http://cdn.1678520.xyz/epg/?ch={name}&date={date}",
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "电视Live",
|
||||
"type": 0,
|
||||
"url": "https://tv.iill.top/m3u/Gather",
|
||||
"playerType": 2,
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "网络Live",
|
||||
"type": 0,
|
||||
"url": "https://tv.iill.top/m3u/Live",
|
||||
"playerType": 2,
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "范明明",
|
||||
"type": 0,
|
||||
"url": "https://live.fanmingming.cn/tv/m3u/ipv6.m3u",
|
||||
"timeout": 10
|
||||
},
|
||||
{
|
||||
"name": "APTV",
|
||||
"type": 0,
|
||||
"url": "https://github.3x25.com/https://github.com/Kimentanm/aptv/raw/master/m3u/iptv.m3u",
|
||||
"epg": "http://epg.51zmt.top:8000/api/diyp/?ch={name}&date={date}",
|
||||
"logo": "https://epg.iill.top/logo/{name}.png",
|
||||
"ua": "okhttp/3.15,AptvPlayer/1.4.0",
|
||||
"timeout": 10
|
||||
}
|
||||
],
|
||||
"lives": [],
|
||||
"hosts": [
|
||||
"cache.ott.*.itv.cmvideo.cn=base-v4-free-mghy.e.cdn.chinamobile.com",
|
||||
"cache.ott.ystenlive.itv.cmvideo.cn=base-v4-free-mghy.e.cdn.chinamobile.com",
|
||||
|
||||
169
潇洒/py/想看影视.py
169
潇洒/py/想看影视.py
@@ -1,169 +0,0 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
# by @嗷呜
|
||||
import re
|
||||
import sys
|
||||
from Crypto.Hash import MD5
|
||||
sys.path.append("..")
|
||||
import json
|
||||
import time
|
||||
from pyquery import PyQuery as pq
|
||||
from base.spider import Spider
|
||||
|
||||
|
||||
class Spider(Spider):
|
||||
|
||||
def init(self, extend=""):
|
||||
pass
|
||||
|
||||
def getName(self):
|
||||
pass
|
||||
|
||||
def isVideoFormat(self, url):
|
||||
pass
|
||||
|
||||
def manualVideoCheck(self):
|
||||
pass
|
||||
|
||||
def action(self, action):
|
||||
pass
|
||||
|
||||
def destroy(self):
|
||||
pass
|
||||
|
||||
host = 'https://www.lreeok.vip'
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
|
||||
'Accept': 'application/json, text/javascript, */*; q=0.01',
|
||||
'sec-ch-ua-platform': '"macOS"',
|
||||
'sec-ch-ua': '"Not/A)Brand";v="8", "Chromium";v="134", "Google Chrome";v="134"',
|
||||
'Origin': host,
|
||||
'Referer': f"{host}/",
|
||||
}
|
||||
|
||||
def homeContent(self, filter):
|
||||
data = self.getpq(self.fetch(self.host, headers=self.headers).text)
|
||||
result = {}
|
||||
classes = []
|
||||
for k in data('.head-more.box a').items():
|
||||
i = k.attr('href')
|
||||
if i and '/vod' in i:
|
||||
classes.append({
|
||||
'type_name': k.text(),
|
||||
'type_id': re.search(r'\d+', i).group(0)
|
||||
})
|
||||
result['class'] = classes
|
||||
result['list'] = self.getlist(data('.border-box.diy-center .public-list-div'))
|
||||
return result
|
||||
|
||||
def homeVideoContent(self):
|
||||
pass
|
||||
|
||||
def categoryContent(self, tid, pg, filter, extend):
|
||||
body = {'type': tid, 'class': '', 'area': '', 'lang': '', 'version': '', 'state': '', 'letter': '', 'page': pg}
|
||||
data = self.post(f"{self.host}/index.php/api/vod", headers=self.headers, data=self.getbody(body)).json()
|
||||
result = {}
|
||||
result['list'] = data['list']
|
||||
result['page'] = pg
|
||||
result['pagecount'] = 9999
|
||||
result['limit'] = 90
|
||||
result['total'] = 999999
|
||||
return result
|
||||
|
||||
def detailContent(self, ids):
|
||||
data = self.getpq(self.fetch(f"{self.host}/voddetail/{ids[0]}.html", headers=self.headers).text)
|
||||
v = data('.detail-info.lightSpeedIn .slide-info')
|
||||
vod = {
|
||||
'vod_year': v.eq(-1).text(),
|
||||
'vod_remarks': v.eq(0).text(),
|
||||
'vod_actor': v.eq(3).text(),
|
||||
'vod_director': v.eq(2).text(),
|
||||
'vod_content': data('.switch-box #height_limit').text()
|
||||
}
|
||||
np = data('.anthology.wow.fadeInUp')
|
||||
ndata = np('.anthology-tab .swiper-wrapper .swiper-slide')
|
||||
pdata = np('.anthology-list .anthology-list-box ul')
|
||||
play, names = [], []
|
||||
for i in range(len(ndata)):
|
||||
n = ndata.eq(i)('a')
|
||||
n('span').remove()
|
||||
names.append(n.text())
|
||||
vs = []
|
||||
for v in pdata.eq(i)('li').items():
|
||||
vs.append(f"{v.text()}${v('a').attr('href')}")
|
||||
play.append('#'.join(vs))
|
||||
vod["vod_play_from"] = "$$$".join(names)
|
||||
vod["vod_play_url"] = "$$$".join(play)
|
||||
result = {"list": [vod]}
|
||||
return result
|
||||
|
||||
def searchContent(self, key, quick, pg="1"):
|
||||
# data = self.getpq(self.fetch(f"{self.host}/vodsearch/{key}----------{pg}---.html", headers=self.headers).text)
|
||||
# return {'list': self.getlist(data('.row-right .search-box .public-list-bj')), 'page': pg}
|
||||
data = self.fetch(
|
||||
f"{self.host}/index.php/ajax/suggest?mid={pg}&wd={key}&limit=999×tamp={int(time.time() * 1000)}",
|
||||
headers=self.headers).json()
|
||||
videos = []
|
||||
for i in data['list']:
|
||||
videos.append({
|
||||
'vod_id': i['id'],
|
||||
'vod_name': i['name'],
|
||||
'vod_pic': i['pic']
|
||||
})
|
||||
return {'list': videos, 'page': pg}
|
||||
|
||||
def playerContent(self, flag, id, vipFlags):
|
||||
h, p = {"User-Agent": "okhttp/3.14.9"}, 1
|
||||
url = f"{self.host}{id}"
|
||||
data = self.getpq(self.fetch(url, headers=self.headers).text)
|
||||
try:
|
||||
jstr = data('.player .player-left script').eq(0).text()
|
||||
jsdata = json.loads(jstr.split('aaa=')[-1])
|
||||
body = {'url': jsdata['url']}
|
||||
if not re.search(r'\.m3u8|\.mp4', body['url']):
|
||||
data = self.post(f"{self.host}/okplay/api_config.php", headers=self.headers,
|
||||
data=self.getbody(body)).json()
|
||||
url = data.get('url') or data.get('data', {}).get('url')
|
||||
p = 0
|
||||
except Exception as e:
|
||||
print('错误信息:', e)
|
||||
pass
|
||||
result = {}
|
||||
result["parse"] = p
|
||||
result["url"] = url
|
||||
result["header"] = h
|
||||
return result
|
||||
|
||||
def localProxy(self, param):
|
||||
pass
|
||||
|
||||
def getbody(self, params):
|
||||
t = int(time.time())
|
||||
h = MD5.new()
|
||||
h.update(f"DS{t}DCC147D11943AF75".encode('utf-8'))
|
||||
key = h.hexdigest()
|
||||
params.update({'time': t, 'key': key})
|
||||
return params
|
||||
|
||||
def getlist(self, data):
|
||||
videos = []
|
||||
for i in data.items():
|
||||
id = i('a').attr('href')
|
||||
if id:
|
||||
id = re.search(r'\d+', id).group(0)
|
||||
img = i('img').attr('data-src')
|
||||
if img and 'url=' in img: img = f'{self.host}{img}'
|
||||
videos.append({
|
||||
'vod_id': id,
|
||||
'vod_name': i('img').attr('alt'),
|
||||
'vod_pic': img,
|
||||
'vod_remarks': i('.public-prt').text() or i('.public-list-prb').text()
|
||||
})
|
||||
return videos
|
||||
|
||||
def getpq(self, data):
|
||||
try:
|
||||
return pq(data)
|
||||
except Exception as e:
|
||||
print(f"{str(e)}")
|
||||
return pq(data.encode('utf-8'))
|
||||
BIN
潇洒/spider.jar
BIN
潇洒/spider.jar
Binary file not shown.
Reference in New Issue
Block a user