加入允许跨域播放检测
This commit is contained in:
parent
7ae680b64d
commit
3759444d6f
2
db.py
2
db.py
|
@ -36,7 +36,7 @@ class DataBase (object) :
|
|||
def create (self) :
|
||||
if self.connStat == False : return False
|
||||
|
||||
sql = 'create table ' + self.table + ' (id integer PRIMARY KEY autoincrement, title text, quality text, url text, level integer, enable integer, online integer, delay integer, udTime text)'
|
||||
sql = 'create table ' + self.table + ' (id integer PRIMARY KEY autoincrement, title text, quality text, url text, level integer, cros integer, enable integer, online integer, delay integer, udTime text)'
|
||||
self.cur.execute(sql)
|
||||
|
||||
def query (self, sql) :
|
||||
|
|
2
main.py
2
main.py
|
@ -38,6 +38,7 @@ class Iptv (object):
|
|||
self.addData(item)
|
||||
|
||||
self.outPut()
|
||||
|
||||
print("DONE!!")
|
||||
|
||||
def addData (self, data) :
|
||||
|
@ -78,6 +79,7 @@ class Iptv (object):
|
|||
f.write("#EXTINF:-1, group-title=\"%s\", %s\n" % (className, item[1]))
|
||||
f.write("%s\n" % (item[3]))
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
obj = Iptv()
|
||||
obj.run()
|
||||
|
|
|
@ -37,6 +37,8 @@ class Source (object) :
|
|||
netstat = self.T.chkPlayable(item[1])
|
||||
|
||||
if netstat > 0 :
|
||||
cros = 1 if self.T.chkCros(item[1]) else 0
|
||||
|
||||
info = self.T.fmtTitle(item[0])
|
||||
|
||||
data = {
|
||||
|
@ -45,6 +47,7 @@ class Source (object) :
|
|||
'quality': str(info['quality']),
|
||||
'delay' : netstat,
|
||||
'level' : str(info['level']),
|
||||
'cros' : cros,
|
||||
'online' : 1,
|
||||
'udTime' : self.now,
|
||||
}
|
||||
|
|
|
@ -26,6 +26,8 @@ class Source (object) :
|
|||
netstat = self.T.chkPlayable(item[1])
|
||||
|
||||
if netstat > 0 :
|
||||
cros = 1 if self.T.chkCros(item[1]) else 0
|
||||
|
||||
info = self.T.fmtTitle(item[0])
|
||||
|
||||
data = {
|
||||
|
@ -34,6 +36,7 @@ class Source (object) :
|
|||
'quality': str(info['quality']),
|
||||
'delay' : netstat,
|
||||
'level' : info['level'],
|
||||
'cros' : cros,
|
||||
'online' : 1,
|
||||
'udTime' : self.now,
|
||||
}
|
||||
|
|
|
@ -34,6 +34,8 @@ class Source (object) :
|
|||
netstat = self.T.chkPlayable(item[1])
|
||||
i = i + 1
|
||||
if netstat > 0 :
|
||||
cros = 1 if self.T.chkCros(item[1]) else 0
|
||||
|
||||
info = self.T.fmtTitle(item[0])
|
||||
|
||||
data = {
|
||||
|
@ -41,6 +43,7 @@ class Source (object) :
|
|||
'url' : str(item[1]),
|
||||
'quality': str(info['quality']),
|
||||
'delay' : netstat,
|
||||
'cros' : cros,
|
||||
'level' : info['level'],
|
||||
'online' : 1,
|
||||
'udTime' : self.now,
|
||||
|
|
|
@ -47,6 +47,8 @@ class Source (object) :
|
|||
netstat = self.T.chkPlayable(item[1])
|
||||
|
||||
if netstat > 0 :
|
||||
cros = 1 if self.T.chkCros(item[1]) else 0
|
||||
|
||||
info = self.T.fmtTitle(item[0])
|
||||
|
||||
data = {
|
||||
|
@ -55,6 +57,7 @@ class Source (object) :
|
|||
'quality': str(info['quality']),
|
||||
'delay' : netstat,
|
||||
'level' : str(info['level']),
|
||||
'cros' : cros,
|
||||
'online' : 1,
|
||||
'udTime' : self.now,
|
||||
}
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import tools
|
||||
import time
|
||||
import re
|
||||
|
||||
class Source (object) :
|
||||
|
||||
def __init__ (self):
|
||||
self.T = tools.Tools()
|
||||
self.now = int(time.time() * 1000)
|
||||
|
||||
def getSource (self) :
|
||||
urlList = []
|
||||
|
||||
url = 'https://list.youku.com/category/show/c_96.html'
|
||||
req = [
|
||||
'user-agent: Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Mobile Safari/537.36',
|
||||
'accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3',
|
||||
'accept-language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7',
|
||||
'upgrade-insecure-requests: 1',
|
||||
'cookie: __ysuid=1540876852049YWA; __aysid=1559125737129tko; cna=iK1MFHdGNCACAdr3tQLvfWyB; _uab_collina=155912582425707377578055; yseidcount=1; juid=01dc1iku0414jb; ysestep=2; ystep=2; __ayft=1559193264281; __arpvid=1559193264282uJi2mp-1559193264434; __ayscnt=1; __aypstp=1; __ayspstp=9; P_ck_ctl=42B48D36975844B47D704789EF1B626C; isg=BG5utJpDvrYTl8rTl-ad8dTiv8I6b6UxM4jYMJg3inGsew7VAP96ez95Mq8yhyqB',
|
||||
]
|
||||
res = self.T.getPage(url, req)
|
||||
|
||||
if res['code'] == 200 :
|
||||
pattern = re.compile(r"window\.__INITIAL_DATA__(.*?)categoryFilter\":{\"", re.I|re.S)
|
||||
contentJS = pattern.findall(res['body'])
|
||||
|
||||
pattern = re.compile(r"\"title\":\"(.*?)\".*?\"videoId\":\"(.*?)\"", re.I|re.S)
|
||||
movList = pattern.findall(contentJS[0])
|
||||
movList = movList[1]
|
||||
for mov in movList :
|
||||
info = self.getVideoInfo('XNDIwMDAyMzE3Mg==')
|
||||
print(info)
|
||||
|
||||
return urlList
|
||||
|
||||
def getVideoInfo (self, videoId) :
|
||||
infoUrl = 'https://ups.youku.com/ups/get.json?&ccode=0501&client_ip=0.0.0.0&client_ts=1559195109&utid=QM7jEAtFLzkCAdr3tQK%2BqDe4&vid='
|
||||
|
||||
info = ''
|
||||
try:
|
||||
res = self.T.getPage(infoUrl + videoId, ['Referer:http://c-h5.youku.com/'])
|
||||
print(res)
|
||||
if res['body'] == '' :
|
||||
info = False
|
||||
except:
|
||||
info = False
|
||||
|
||||
return info
|
Loading…
Reference in New Issue