Files
epg/config/ru/siteini.pack/tv.yandex.ru.ini
2021-03-10 01:37:19 +03:00

153 lines
10 KiB
INI
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
**------------------------------------------------------------------------------------------------
* @header_start
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
* @Site: tv.yandex.ru
* @MinSWversion: V1.57
* @Revision 7 - [18/02/2019] EgiszZ
* - ini fixes based on new web site design (title)
* @Revision 6 - [14/10/2018] FlyGoneCrazy
* - ini fixes based on new web site design
* @Revision 5 - [08/11/2017] Blackbear199
* - added UA and TR to channels.xml creation
* @Revision 4 - [30/10/2017] Blackbear199
* - site changes
* @Revision 3 - [05/04/2017] Blackbear199
* - site changes
* @Revision 2 - [28/07/2016] Blackbear199
* - title match fix
* @Revision 1 - [25/07/2016] Blackbear199
* - added subtitle
* - added country
* - added urlchannellogo
* - added showicon
* - rewrote season/episode to version 56.25+ format.
* - set desired output,onscreen(S5 E9/10) or xmltv_ns(4.8/9.) on site{...} line.default onscreen.
* @Revision 0 - [02/03/2016] Blackbear199
* - creation
* @Remarks: your_remarks
* @header_end
**------------------------------------------------------------------------------------------------
*site {loadcookie=cookie_file.txt}
site {url=tv.yandex.ru|timezone=Europe/Moscow|maxdays=6|cultureinfo=ru-RU|charset=UTF-8|titlematchfactor=90}
site {ratingsystem=RU|episodesystem=onscreen}
*
url_index{url|https://tv.yandex.ru/##region##/channels/##channel##?date=|urldate|&period=all-day}
url_index.headers {customheader=Accept-Encoding=gzip,deflate}
urldate.format {datestring|yyyy-MM-dd}
*
scope.range{(urlindex)|end}
global_temp_1.modify {substring(type=regex)|'config_site_id' "^(\d+)##"}
global_temp_2.modify {substring(type=regex)|'config_site_id' "##(\d+)$"}
url_index.modify {replace|##region##|'global_temp_1'}
url_index.modify {replace|##channel##|'global_temp_2'}
end_scope
*
index_urlchannellogo {url(scope=datelogo)|https:|<img class="image__img" src="||"/>|/>}
*
index_showsplit.scrub {multi|"events":[{||}]}|}]}}
index_showsplit.modify {replace|\},\{|\|}
*
index_urlshow {url|https://tv.yandex.ru|"url":"||",|",}
index_urlshow.headers {customheader=Accept-Encoding=gzip,deflate}
*
index_temp_1.scrub {regex||"start":"\d{4}-\d{2}-\d{2}T\d{1,2}:\d{2}:\d{2}([-+]\d{2}:\d{2})"||}
index_start.scrub {regex||"start":"(\d{4}-\d{2}-\d{2}T\d{1,2}:\d{2}:\d{2})[-+]\d{2}:\d{2}"||}
index_stop.scrub {regex||"finish":"(\d{4}-\d{2}-\d{2}T\d{1,2}:\d{2}:\d{2})[-+]\d{2}:\d{2}"||}
*index_title.scrub {(debug)single||||}
index_title.scrub {regex||"finish":"[^"]*"(?:,"liveId":\d*,"yacFamilyId":\d*)?,"title":"(.*?)","||}
index_title.scrub {regex||"finish":"[^"]*"(?:,"yacFamilyId":\d*)?,"title":"(.*?)","||}
*index_title.scrub {single|,"title":"||"|"}
*index_title.scrub {(debug)single|<h1 class="program-header__title" itemprop="name">||</h1>|</h1>}
index_subtitle.scrub {single|"episodeTitle":"||","|","}
*
scope.range{(indexshowdetails)|end}
index_start.modify {calculate(format=date,unix)}
index_stop.modify {calculate(format=date,unix)}
index_temp_2.modify {substring(type=char)|'index_temp_1' 0 1}
index_temp_1.modify {remove(type=char)|0 1}
index_temp_1.modify {calculate(format=F0)|3600 *}
index_start.modify {calculate('index_temp_2' "-" format=F0)|'index_start' 'index_temp_1' +}
index_start.modify {calculate('index_temp_2' "+" format=F0)|'index_start' 'index_temp_1' -}
index_stop.modify {calculate('index_temp_2' "-" format=F0)|'index_stop' 'index_temp_1' +}
index_stop.modify {calculate('index_temp_2' "+" format=F0)|'index_stop' 'index_temp_1' -}
index_title.modify {cleanup(style=jsondecode)}
index_title.modify {replace(type=regex)|(.*)(","title":")|}
index_subtitle.modify {clear('index_title')}
index_subtitle.modify {substring(type=regex)|"\s-\s\"(.*?)\""}
*
index_episode.modify {substring(type=regex pattern="Сезон 'S1'. 'E1'/'Et1'""Сезон 'S1'. 'E1'""'E1'/'Et1'""'E1'")|'index_title' "\s((?:Сезон\s\d+\.\s)?(?:\d+-я\s[и-]\s)?\d+-я\sсери[ия])"}
*index_episode.modify {replace|-я и |/}
*index_episode.modify {replace|-я - |/}
*index_episode.modify {remove(type=regex)|-я сери[ия]}
index_title.modify {remove(type=regex)|\.*\s(?:Сезон \d+\.\s)?(?:\d+-я\s[и-]\s)?\d+-я\sсери[ия](?:\s-*\s*\".*?\")?}
*
*index_subtitle.modify {substring(type=regex)|"\s-\s\"(.*?)\""}
index_category.scrub {single|"type":{|"name":"|"|}}
end_scope
*
title.modify {addstart|'index_title'} *index_title and details title often different
title.modify {replace(type=regex)|(.*)(","title":")|}
*description.scrub {(debug)||||}
description.scrub {single|<meta name="description" content="||" />|" />}
*description.scrub {(debug)regex||"description":"(.+?)","countries"||}
*description.modify {replace(type=regex)|(","(.*))|}
description.modify {cleanup}
*director.scrub {multi|Режиссёр</div>|<i itemProp="name">|</i>|</div>}
director.scrub {multi|Режиссёр|<i itemProp="name">|</i>|</div>}
*director.scrub {(debug)regex||Режиссёр(.+?)</div>||}
*actor.scrub {(debug)multi||||}
*actor.scrub {multi|В ролях|<span class="program-persons__name" itemprop="name">|</span>|</div></div></div>}
actor.scrub {regex||\{"id":\d+,"name":"(.+?)","role":"actor","||}
actor.modify {replace(type=regex)|(.*)(,"name":")|}
*actor.scrub {(debug)multi|"name":"||","role":"actor","|","role":"actor","}
*actor.modify {(debug)regex||"name":"(.+?)","role":"actor","||}
*presenter.scrub {multi|Ведущие</div>|<span>|</span>|</div>}
presenter.scrub {multi|Ведущий</h3>|itemProp="presenter">|</span>|</div>}
rating.scrub {single|<span class="program-header__age">||</span>|</span>}
rating.modify {cleanup(tags="<"">")}
*rating.scrub {single|class="program-statistics__value">||</div>|</div>}
*starrating.scrub {single|Рейтинг КиноПоиска</div>|">|</div>|</div>}
starrating.scrub {single|class="program-statistics__value">||</div>|</div>}
productiondate.scrub {single|Страна и год</h3>|class="program-details__text">|</div></div>|</div></div>}
productiondate.modify {replace(type=regex)|(.*)(, )|}
country.scrub {single|Страна и год</h3>|class="program-details__text">|</div></div>|</div></div>}
country.modify {replace(type=regex)|(, \d{4})|}
showicon.scrub {single|<div class="program-header__trailer" style="background-image:url('||')">|')">}
showicon.modify {addstart(not "")|https:}
*
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
**
** @auto_xml_channel_start
*url_index{url|https://tv.yandex.ru/ajax?params=%5B%7B%22name%22%3A%22i-tv-region%22%2C%22method%22%3A%22get%22%2C%22args%22%3A%7B%22params%22%3A%22%7B%5C%22type%5C%22%3A%5C%22regional%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5C%22schedules%2Cchannels%2Cfinish%2Cchannel%2Cid%2Ctitle%2Cfavourite%5C%22%2C%5C%22lang%5C%22%3A%5C%22ru%5C%22%7D%22%2C%22cacheKey%22%3A%22channels%3Fparams%3D%7B%5C%22type%5C%22%3A%5C%22regional%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5B%5C%22schedules%5C%22%2C%5C%22channels%5C%22%2C%5C%22finish%5C%22%2C%5C%22channel%5C%22%2C%5C%22id%5C%22%2C%5C%22title%5C%22%2C%5C%22favourite%5C%22%5D%7D%22%2C%22userRegion%22%3A%22|subpage|%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%2C%7B%22name%22%3A%22i-tv-region%22%2C%22method%22%3A%22get%22%2C%22args%22%3A%7B%22params%22%3A%22%7B%5C%22type%5C%22%3A%5C%22local%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5C%22schedules%2Cchannels%2Cfinish%2Cchannel%2Cid%2Ctitle%2Cfavourite%5C%22%2C%5C%22lang%5C%22%3A%5C%22ru%5C%22%7D%22%2C%22cacheKey%22%3A%22channels%3Fparams%3D%7B%5C%22type%5C%22%3A%5C%22local%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5B%5C%22schedules%5C%22%2C%5C%22channels%5C%22%2C%5C%22finish%5C%22%2C%5C%22channel%5C%22%2C%5C%22id%5C%22%2C%5C%22title%5C%22%2C%5C%22favourite%5C%22%5D%7D%22%2C%22userRegion%22%3A%22|subpage|%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%2C%7B%22name%22%3A%22i-tv-region%22%2C%22method%22%3A%22get%22%2C%22args%22%3A%7B%22params%22%3A%22%7B%5C%22type%5C%22%3A%5C%22satelite%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5C%22schedules%2Cchannels%2Cfinish%2Cchannel%2Cid%2Ctitle%2Cfavourite%5C%22%2C%5C%22lang%5C%22%3A%5C%22ru%5C%22%7D%22%2C%22cacheKey%22%3A%22channels%3Fparams%3D%7B%5C%22type%5C%22%3A%5C%22satelite%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5B%5C%22schedules%5C%22%2C%5C%22channels%5C%22%2C%5C%22finish%5C%22%2C%5C%22channel%5C%22%2C%5C%22id%5C%22%2C%5C%22title%5C%22%2C%5C%22favourite%5C%22%5D%7D%22%2C%22userRegion%22%3A%22|subpage|%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%5D&sk=42a26daf72c9b3c34a81c144d6a754f0&userRegion=|subpage|&resource=null&ncrd=}
*subpage.format {list|187|213|983}
*index_site_id.scrub {|}
*index_temp_9.scrub {regex||^.*$||}
*index_temp_9.modify {replace|]\}"\}]|\|}
*index_temp_9.modify {remove(type=element)|-1 1}
*scope.range{(channellist)|end}
*index_temp_4.modify {set|187\|213\|983}
*index_temp_3.modify {set|0}
*loop{(each "index_temp_8" in 'index_temp_9')|end}
*index_temp_7.modify {substring(type=element)|'index_temp_4' 'index_temp_3' 1}
*index_temp_6.modify {substring(type=regex)|'index_temp_8' ":(\d+)\}}
*index_temp_5.modify {substring(type=regex)|'index_temp_8' "\\\"title\\\":\\\"(.+?)\\\","}
*index_temp_6.modify {addstart|'index_temp_7'##}
*index_temp_5.modify {addstart('index_temp_7' "187")|UA-}
*index_temp_5.modify {addstart('index_temp_7' "213")|RU-}
*index_temp_5.modify {addstart('index_temp_7' "983")|TR-}
*index_temp_6.modify {replace|\||#_#}
*index_temp_5.modify {replace|\||#_#}
*index_site_id.modify {addend|'index_temp_6'#_#}
*index_site_channel.modify {addend|'index_temp_5'#_#}
*index_temp_3.modify {calculate(format=F0)|1 +}
*end_loop
*index_site_id.modify {replace|#_#|\|}
*index_site_channel.modify {replace|#_#|\|}
*index_site_id.modify {remove(type=element)|-1 1}
*index_site_channel.modify {remove(type=element)|-1 1}
*index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
*end_scope
** @auto_xml_channel_end