SKB 함수 수정
This commit is contained in:
parent
92eaa26d07
commit
763ca1714f
30
epg2xml.py
30
epg2xml.py
@ -44,7 +44,7 @@ if not sys.version_info[:2] == (2, 7):
|
||||
sys.exit()
|
||||
|
||||
# Set variable
|
||||
__version__ = '1.2.5'
|
||||
__version__ = '1.2.5p1'
|
||||
debug = False
|
||||
today = datetime.date.today()
|
||||
ua = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36', 'accept': '*/*'}
|
||||
@ -381,17 +381,16 @@ def GetEPGFromSKB(ChannelInfo):
|
||||
html_data = response.content
|
||||
data = unicode(html_data, 'euc-kr', 'ignore').encode('utf-8', 'ignore')
|
||||
data = re.sub('<!--(.*?)-->', '', data, 0, re.I|re.S)
|
||||
data = re.sub('<span></span>', '', data)
|
||||
data = re.sub('<span class="title">', '<span>', data)
|
||||
data = re.sub('<span class="explan">화면해설</span>','',data)
|
||||
data = re.sub('<span class="caption">자막방송</span>','',data)
|
||||
data = re.sub('<span class="fullHD">Full HD</span>','',data)
|
||||
data = re.sub('<span class="UHD">UHD</span>','',data)
|
||||
data = re.sub('<span class="nowon">now on</span>','',data)
|
||||
data = re.sub('<span class="flag_box">','',data)
|
||||
data = re.sub('<strong class="hide">프로그램 안내</strong>', '',data)
|
||||
pattern = '<span>(.*)<\/span>'
|
||||
data = re.sub(pattern, partial(replacement, tag='span'), data)
|
||||
data = re.sub('<span class="round_flag flag02">(.*?)</span>', '', data)
|
||||
data = re.sub('<span class="round_flag flag03">(.*?)</span>', '', data)
|
||||
data = re.sub('<span class="round_flag flag04">(.*?)</span>', '', data)
|
||||
data = re.sub('<span class="round_flag flag09">(.*?)</span>', '', data)
|
||||
data = re.sub('<span class="round_flag flag10">(.*?)</span>', '', data)
|
||||
data = re.sub('<span class="round_flag flag11">(.*?)</span>', '', data)
|
||||
data = re.sub('<span class="round_flag flag12">(.*?)</span>', '', data)
|
||||
data = re.sub('<strong class="hide">프로그램 안내</strong>', '', data)
|
||||
#pattern = '<span>(.*)<\/span>'
|
||||
#data = re.sub(pattern, partial(replacement, tag='span'), data)
|
||||
strainer = SoupStrainer('div', {'id':'uiScheduleTabContent'})
|
||||
soup = BeautifulSoup(data, htmlparser, parse_only=strainer, from_encoding='utf-8')
|
||||
html = soup.find_all('li',{'class':'list'}) if soup.find_all('li') else ''
|
||||
@ -405,6 +404,8 @@ def GetEPGFromSKB(ChannelInfo):
|
||||
startTime = startTime.strftime('%Y%m%d%H%M%S')
|
||||
cell = row.find('p', {'class':'cont'})
|
||||
if(cell):
|
||||
if cell.find('span'):
|
||||
cell.span.decompose()
|
||||
cell = cell.text.decode('string_escape').strip()
|
||||
pattern = "^(.*?)(\(([\d,]+)회\))?(<(.*)>)?(\((재)\))?$"
|
||||
matches = re.match(pattern, cell)
|
||||
@ -413,9 +414,10 @@ def GetEPGFromSKB(ChannelInfo):
|
||||
subprogramName = matches.group(5) if matches.group(5) else ''
|
||||
rebroadcast = True if matches.group(7) else False
|
||||
episode = matches.group(3) if matches.group(3) else ''
|
||||
rating = row.find('span', {'class':re.compile('^watch.*$')})
|
||||
rating = row.find('i', {'class':'hide'})
|
||||
if not(rating is None) :
|
||||
rating = int(rating.text.decode('string_escape').replace('세','').strip())
|
||||
rating = int(rating.text.decode('string_escape').replace('세 이상','').strip())
|
||||
|
||||
#ChannelId, startTime, programName, subprogramName, desc, actors, producers, category, episode, rebroadcast, rating
|
||||
epginfo.append([ChannelId, startTime, programName, subprogramName, desc, actors, producers, category, episode, rebroadcast, rating])
|
||||
time.sleep(0.001)
|
||||
|
Loading…
x
Reference in New Issue
Block a user