Skip to content

Instantly share code, notes, and snippets.

@konnnn
Created March 22, 2017 18:40
Show Gist options
  • Save konnnn/1824ac34e1ed384d46808b960713c2ea to your computer and use it in GitHub Desktop.
Save konnnn/1824ac34e1ed384d46808b960713c2ea to your computer and use it in GitHub Desktop.
**------------------------------------------------------------------------------------------------
* @header_start
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
* @Site: tv.yandex.ru
* @MinSWversion: V1.1.1/56.27
* @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 {url=tv.yandex.ru|timezone=UTC+03:00|maxdays=14|cultureinfo=ru-RU|charset=UTF-8|titlematchfactor=90|allowpageoverlaps}
site {ratingsystem=RU|episodesystem=onscreen}
url_index{url|https://tv.yandex.ru/213/channels/|channel|?date=|urldate|&period=all-day}
url_index.headers {customheader=Accept-Encoding=gzip,deflate}
urldate.format {datestring|yyyy-MM-dd}
*
index_urlchannellogo {url(scope=datelogo)|http:|<div class="b-tv-channel-content__channel-info">|background-image:url(|)">|</span>}
*
index_showsplit.scrub {multi|<div class="b-tv-channel-schedule__item">|||<div class="b-tv-channel-content__text">}
*
scope.range{(indexshowdetails)|end}
index_start.scrub {single|<span class="tv-event__time-text">||</span>|</span>}
index_title.scrub {single|<div class="tv-event__title-inner">||</div>|</div>}
*
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сери[ия]}
*
index_subtitle.modify {substring(type=regex)|'index_title' "\s-\s\"(.*?)\""}
index_title.modify {remove(type=regex)|\s-*\s*\".*?\"}
index_category.scrub {single|"genre":"||"|"}
*
index_temp_1.scrub {single|"programId":||,|,} *program id
index_temp_2.scrub {single|"eventId":||,|,} *event id
index_urlshow.modify {set|https://tv.yandex.ru/213/program/'index_temp_1'?eventId='index_temp_2'}
index_urlshow.headers {customheader=Accept-Encoding=gzip,deflate}
end_scope
*
title.modify {addstart|'index_title'} *index_title and details title often different
description.scrub {single|<div class="b-tv-program-description__description">|<span>|</span>|<span }
director.scrub {multi|Режиссер|<span>|</span>|</tr>}
actor.scrub {multi|В ролях:|<span>|</span>|</tr>}
presenter.scrub {multi|Ведущие:|<span>|</span>|</tr>}
rating.scrub {multi|досуг</div><div class="tv-program-meta__age-restriction">||</div>|</div>}
productiondate.scrub {single(separator=", " include=last)|Произведено:|<td class="b-tv-program-details__info-value">|</td>|</tr>}
country.scrub {single(separator=", " exclude=last)|Произведено:|<td class="b-tv-program-details__info-value">|</td>|</tr>}
showicon.scrub {single|<div class="tv-screenshots-gallery__thumb-media"|background-image: url(|)|</div>}
showicon.modify {addstart(not "")|http:}
*
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
** ##### 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%22213%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%22213%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%22213%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%5D&sk=42a26daf72c9b3c34a81c144d6a754f0&userRegion=213&resource=null&ncrd=1469479392587}
*index_site_id.scrub {multi|\"id\":||}|}}
*index_site_channel.scrub {multi|\"title\":\"||\"|"\}
*index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
** @auto_xml_channel_end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment