112 lines
5.6 KiB
INI
Executable File
112 lines
5.6 KiB
INI
Executable File
**------------------------------------------------------------------------------------------------
|
|
* @header_start
|
|
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
|
|
* @Site: tv.zam.it
|
|
* @MinSWversion: V1.1.1/53.6
|
|
* none
|
|
* @Revision 6 - [05/01/2014] Steve Wildmore
|
|
* fix channels.xml generation
|
|
* @Revision 5 - [04/01/2014] Steve Wildmore
|
|
* fully new, site change
|
|
* @Revision 4 - [24/07/2012] Jan van Straaten
|
|
* fully new, site change
|
|
* @Revision 3 - [01/04/2011] Willy De Wilde
|
|
* none
|
|
* @Remarks:
|
|
* none
|
|
* @header_end
|
|
**------------------------------------------------------------------------------------------------
|
|
|
|
site {url=tv.zam.it|timezone=UTC+01:00|maxdays=9|cultureinfo=it-IT|charset=ISO-8859-1|titlematchfactor=90|episodesystem=onscreen}
|
|
url_index{url|http://tv.zam.it/programmitv_giorno.php?canale=|channel|&data=|urldate|}
|
|
urldate.format {datestring|yyyy-MM-dd}
|
|
*
|
|
*index_showsplit.scrub {multi(debug exclude="<<< Programmi")|</script>\n</td></tr>|<tr|</a></td></tr>|<script type='text/javascript'>}
|
|
index_showsplit.scrub {regex||Tv_square(.*?)tv_square_foot||}
|
|
index_showsplit.modify {substring(type=regex)|(<tr[^>]*><td class="gen".*?</tr>)}
|
|
index_start.scrub {single|width="1%"|<b>|</b>|</b>}
|
|
index_title.scrub {single|<a href="programmitv|">|</a>|</a>}
|
|
index_category.scrub {single|<span style="color:green";>|(|)|</span></td>}
|
|
*index_description.scrub {single(separator="<a href=" include=first)|</span>|<br />|</td>|<td width="1%">}
|
|
index_temp_1.scrub {single(separator="<a href=" include=first)|</span>|<br />|</td>|<td width="1%">} * index_description
|
|
|
|
index_urlshow {url|http://tv.zam.it/programmitv_giorno.php?scheda=|<a href="programmitv_giorno.php?scheda=||" |class="gen"}
|
|
* detail http://tv.zam.it/programmitv_giorno.php?scheda=1157
|
|
|
|
* disable the next two lines to make it slower but more precise (if no index_description then skip urlshow)
|
|
* when enabled reduces to about the 50% the grabbing time
|
|
index_urlshow.modify {remove('index_temp_1' "")|'index_urlshow'}
|
|
index_description.modify {addstart('index_temp_1' "")|Senza ulteriori dettagli...}
|
|
|
|
* title decoding
|
|
title.scrub {single|<!-- google_ad_section_start -->|<title>||</title>}
|
|
title.modify {cleanup}
|
|
|
|
* description decoding
|
|
description.scrub {single|<div><b>Descrizione:|</b>|</div><div><b>Cast:|</div></div><div style}
|
|
description.modify {cleanup}
|
|
description.modify {replace|<div style|}
|
|
|
|
description.modify {clear(" ")} * clear description if 1 space blank
|
|
temp_2.scrub {single|<META NAME="DESCRIPTION" CONTENT="|Descrizione: |Cast:|. Le schede} * variant of urlshow description
|
|
temp_2.modify {clear(" ")} * clear description if 1 space blank
|
|
temp_2.modify {remove|Descrizione:} * Remove "Descrizione:" string
|
|
temp_2.modify {remove|. Le schede}
|
|
temp_5.scrub {single|background-color:#ffffff;">||</div>|<div style="padding:8} * variant5 of urlshow description
|
|
temp_5.modify {remove|<div><b>Descrizione:</b>}
|
|
temp_5.modify {replace|<br />| }
|
|
temp_1.scrub {single|<div style="float:left;padding:8|align="left">|</div>|<!-- tv_square_foot_300x250 -->} * variant2 of urlshow description
|
|
temp_1.modify {replace|<script|}
|
|
temp_1.modify {cleanup}
|
|
description.modify {addstart("")|'temp_2'} * use description option 1
|
|
description.modify {addstart("")|'temp_5'} * use description option 2
|
|
description.modify {addstart("")|'temp_1'} * use description option 3
|
|
description.modify {addstart("")|'index_temp_1'} * use urlshow info if available else index_description
|
|
description.modify {cleanup}
|
|
description.modify {addstart("")|Senza ulteriori dettagli....}
|
|
|
|
|
|
* category decoding
|
|
category.scrub {single(separator=", " include="Genere")|<b>Descrizione:|</b>|</div>|<div><b>Cast:}
|
|
category.modify {cleanup(tags="s); ""align="left">")}
|
|
category.modify {remove|Genere }
|
|
|
|
* director decoding
|
|
director.scrub {single|Regia:|| - |</div></div>}
|
|
director.modify {cleanup}
|
|
|
|
* actors decoding
|
|
actor.scrub {single(separator=", ")|<b>Cast:|Con |. |</td>}
|
|
temp_6.scrub {single(separator=", ")|- Cast:||. |}
|
|
actor.modify {addstart("")|'temp_6'} * use alternative actors
|
|
actor.modify {cleanup(tags="'</div><""button to render")}
|
|
actor.modify {cleanup(tags="'</div>"".adsbygoogle")}
|
|
actor.modify {cleanup(tags=" - "".adsbygoogle")}
|
|
actor.modify {cleanup(tags="[]).push""2005-2014")}
|
|
actor.modify {cleanup(tags="Eventuali""comunicazioni")}
|
|
actor.modify {cleanup(tags="segnalazioni""</html>")}
|
|
|
|
* production date decoding
|
|
productiondate.scrub {single|<b>Descrizione:|</b>|</td>|</tr>}
|
|
temp_5.scrub {single(separator=", " include=last)|- Cast: |. ||. Le schede} * alternative production date
|
|
temp_5.modify {calculate(format=F0)|'temp_5' 1 *} * remove unwanted chars
|
|
temp_5.modify {remove('temp_5' < "1900")|'temp_5'} * remove wrong dates
|
|
productiondate.modify {addstart("")|'temp_5'} * use alternative date
|
|
productiondate.modify {clear("0")} * clear element if 0
|
|
|
|
* starrating decoding
|
|
starrating.scrub {single|alt="Valutazione||">|">}
|
|
starrating.modify {calculate(~ "stelle" format=F0)} * extracts the number of stars
|
|
starrating.modify {addend(not "")|/5}
|
|
|
|
|
|
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
|
|
**
|
|
** @auto_xml_channel_start
|
|
*index_site_id.scrub {regex||<select.*?name="canale".*?(?:<option .*?value=\"(.*?)\".*?</option>.*?)+</select>||}
|
|
*index_site_channel.scrub {regex||<select.*?name="canale".*?(?:<option .*?>(.*?)</option>.*?)+</select>||}
|
|
*scope.range {(channellist)|end}
|
|
*index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
|
|
*end_scope
|
|
** @auto_xml_channel_end |