PageRenderTime 51ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/Assets/scrapers/metadata.tvdb.com/tvdb.xml

#
XML | 358 lines | 328 code | 8 blank | 22 comment | 0 complexity | 3cf8e36347476d5a0ac9b1e0b08493ec MD5 | raw file
Possible License(s): GPL-2.0
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- should be self-explanatory -->
  3. <scraper framework="1.1" date="2013-04-04">
  4. <NfoUrl dest="3">
  5. <RegExp input="$$1" output="&lt;url cache=&quot;\1-$INFO[language].xml&quot;&gt;http://thetvdb.com/api/1D62F2F90030C444/series/\1/all/$INFO[language].zip&lt;/url&gt;&lt;id&gt;\1&lt;/id&gt;" dest="3">
  6. <expression>http://(?:www\.)?thetvdb.com/(?:index\.php)?\?tab=series&amp;id=([0-9]+)</expression>
  7. </RegExp>
  8. <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;tt\1.xml&quot; function=&quot;GetTVDBId&quot;&gt;http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=tt\1&amp;amp;language=$INFO[language]&lt;/url&gt;&lt;/details&gt;" dest="3+">
  9. <expression>imdb....?/title/tt([0-9]*)</expression>
  10. </RegExp>
  11. <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;tt\1.xml&quot; function=&quot;GetTVDBId&quot;&gt;http://thetvdb.com/api/GetSeriesByRemoteID.php?imdbid=tt\1&amp;amp;language=$INFO[language]&lt;/url&gt;&lt;/details&gt;" dest="3+">
  12. <expression>imdb....?/Title\?([0-9]*)</expression>
  13. </RegExp>
  14. </NfoUrl>
  15. <GetTVDBId dest="3">
  16. <RegExp input="$$1" output="&lt;details&gt;&lt;url cache=&quot;\1-$INFO[language].xml&quot;&gt;http://thetvdb.com/api/1D62F2F90030C444/series/\1/all/$INFO[language].zip&lt;/url&gt;&lt;id&gt;\1&lt;/id&gt;&lt;/details&gt;" dest="3">
  17. <expression>&lt;seriesid&gt;([0-9]*)&lt;/seriesid&gt;</expression>
  18. </RegExp>
  19. </GetTVDBId>
  20. <EpisodeGuideUrl dest="3">
  21. <RegExp input="$$1" output="\1" dest="3">
  22. <expression>(.*?http://www.thetvdb.com.*)</expression>
  23. </RegExp>
  24. <RegExp input="$$1" output="\1" dest="3">
  25. <expression>(.*?http://thetvdb.com.*)</expression>
  26. </RegExp>
  27. </EpisodeGuideUrl>
  28. <!-- input: $1=query string -->
  29. <!-- returns: the url we should use to do the search -->
  30. <CreateSearchUrl dest="3">
  31. <RegExp input="$$1" output="&lt;url cache=&quot;cache-\1$$4-$INFO[language].xml&quot;&gt;http://thetvdb.com/api/GetSeries.php?seriesname=\1$$4&amp;amp;language=$INFO[language]&lt;/url&gt;" dest="3">
  32. <RegExp input="$$2" output="%20(\1)" dest="4">
  33. <expression clear="yes">(.+)</expression>
  34. </RegExp>
  35. <expression/>
  36. </RegExp>
  37. </CreateSearchUrl>
  38. <!-- input: $1=html $2=search query -->
  39. <!-- returns: results in xml format <results><movie><title>*</title><url>*</url>*#urls<extra>*</extra></movie>*</results> -->
  40. <GetSearchResults dest="1">
  41. <RegExp input="$$4" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;&lt;results&gt;\1&lt;/results&gt;" dest="1">
  42. <RegExp input="$$1" output="&lt;entity&gt;&lt;title&gt;\3&lt;/title&gt;&lt;language&gt;\2&lt;/language&gt;&lt;url cache=&quot;\1-$INFO[language].xml&quot;&gt;http://thetvdb.com/api/1D62F2F90030C444/series/\1/all/$INFO[language].zip&lt;/url&gt;&lt;id&gt;\1&lt;/id&gt;&lt;/entity&gt;" dest="4">
  43. <expression repeat="yes">&lt;seriesid&gt;([0-9]*)&lt;/seriesid&gt;[^&lt;]*&lt;language&gt;([^&lt;]*)&lt;/language&gt;[^&lt;]*&lt;SeriesName&gt;([^&lt;]*)&lt;/SeriesName&gt;</expression>
  44. </RegExp>
  45. <expression noclean="1"/>
  46. </RegExp>
  47. </GetSearchResults>
  48. <!-- input: $1..#urls=html -->
  49. <!-- input: $(#urls+1): extra !-->
  50. <!-- returns: results in xml format <details><plot>*</plot><director>*</director><premiered>*</premiered><episodeguide>*</episodeguide></details> -->
  51. <GetDetails dest="7">
  52. <RegExp input="$$4" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;&lt;details&gt;\1&lt;/details&gt;" dest="7">
  53. <RegExp input="$$1" output="\1" dest="5">
  54. <expression noclean="1">&lt;Series&gt;.*?&lt;id&gt;$$2&lt;/id&gt;(.*)</expression>
  55. </RegExp>
  56. <RegExp input="$$5" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="4">
  57. <expression noclean="1">&lt;Overview&gt;([^&lt;]*)&lt;/Overview&gt;</expression>
  58. </RegExp>
  59. <RegExp input="$$2" output="&lt;id&gt;\1&lt;/id&gt;" dest="4+">
  60. <expression/>
  61. </RegExp>
  62. <RegExp input="$$1" output="&lt;mpaa&gt;\1&lt;/mpaa&gt;" dest="4+">
  63. <expression>&lt;ContentRating&gt;([^&lt;]*)&lt;/ContentRating&gt;</expression>
  64. </RegExp>
  65. <RegExp input="$$5" output="&lt;premiered&gt;\1&lt;/premiered&gt;" dest="4+">
  66. <expression>&lt;FirstAired&gt;([^&lt;]*)&lt;/FirstAired&gt;</expression>
  67. </RegExp>
  68. <RegExp input="$$5" output="&lt;runtime&gt;\1&lt;/runtime&gt;" dest="4+">
  69. <expression>&lt;Runtime&gt;([^&lt;]+)&lt;/Runtime&gt;</expression>
  70. </RegExp>
  71. <RegExp input="$INFO[RatingS]" output="$$12" dest="4+">
  72. <RegExp input="$$5" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="12+">
  73. <expression>&lt;Rating&gt;([^&lt;]+)&lt;/Rating&gt;</expression>
  74. </RegExp>
  75. <RegExp input="$$5" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="12+">
  76. <expression>&lt;RatingCount&gt;([^&lt;]+)&lt;/RatingCount&gt;</expression>
  77. </RegExp>
  78. <expression>TheTVDB</expression>
  79. </RegExp>
  80. <RegExp input="$INFO[RatingS]" output="$$13" dest="4+">
  81. <RegExp input="$$5" output="\1" dest="11">
  82. <expression clear="yes">&lt;IMDB_ID&gt;([^&lt;]+)&lt;/IMDB_ID&gt;</expression>
  83. </RegExp>
  84. <RegExp input="$$11" output="\1" dest="13">
  85. <RegExp conditional="fallback" input="$$5" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="13+">
  86. <expression>&lt;Rating&gt;([^&lt;]+)&lt;/Rating&gt;</expression>
  87. </RegExp>
  88. <RegExp conditional="fallback" input="$$5" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="13+">
  89. <expression>&lt;RatingCount&gt;([^&lt;]+)&lt;/RatingCount&gt;</expression>
  90. </RegExp>
  91. <expression>^$</expression>
  92. </RegExp>
  93. <RegExp input="$$11" output="&lt;chain function=&quot;GetIMDBRatingById&quot;&gt;$$11&lt;/chain&gt;" dest="13">
  94. <expression>(.+)</expression>
  95. </RegExp>
  96. <expression>IMDb</expression>
  97. </RegExp>
  98. <RegExp input="$$5" output="&lt;studio&gt;\1&lt;/studio&gt;" dest="4+">
  99. <expression>&lt;Network&gt;([^&lt;]*)&lt;/Network&gt;</expression>
  100. </RegExp>
  101. <RegExp input="$$5" output="&lt;title&gt;\1&lt;/title&gt;" dest="4+">
  102. <expression>&lt;SeriesName&gt;([^&lt;]*)&lt;/SeriesName&gt;</expression>
  103. </RegExp>
  104. <RegExp input="$$5" output="\1" dest="10">
  105. <expression noclean="1">&lt;Genre&gt;([^&lt;]*)&lt;/Genre&gt;</expression>
  106. </RegExp>
  107. <RegExp input="$$10" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="4+">
  108. <expression repeat="yes">([^\|]*)\|</expression>
  109. </RegExp>
  110. <RegExp input="$$10" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="4+">
  111. <expression repeat="yes">([^,]*),</expression>
  112. </RegExp>
  113. <RegExp input="$$10" output="&lt;genre&gt;\1&lt;/genre&gt;" dest="4+">
  114. <expression>([^\|,]+)$</expression>
  115. </RegExp>
  116. <!-- actors with thumbs -->
  117. <RegExp input="$$5" output="&lt;actor&gt;&lt;name&gt;\2&lt;/name&gt;&lt;role&gt;\3&lt;/role&gt;&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;&lt;/actor&gt;" dest="4+">
  118. <expression repeat="yes" noclean="1,2,3">&lt;Actor&gt;.*?&lt;Image&gt;([^&lt;]+)&lt;/Image&gt;.*?&lt;Name&gt;([^&lt;]*)&lt;/Name&gt;.*?&lt;Role&gt;([^&lt;]*)</expression>
  119. </RegExp>
  120. <!-- actors without thumbs -->
  121. <RegExp input="$$5" output="&lt;actor&gt;&lt;name&gt;\2&lt;/name&gt;&lt;role&gt;\3&lt;/role&gt;&lt;/actor&gt;" dest="4+">
  122. <expression repeat="yes" noclean="1,2,3">&lt;Actor&gt;.*?&lt;Image&gt;([^&lt;]*)&lt;/Image&gt;.*?&lt;Name&gt;([^&lt;]*)&lt;/Name&gt;.*?&lt;Role&gt;([^&lt;]*)</expression>
  123. </RegExp>
  124. <RegExp input="$$2" output="&lt;chain function=&quot;GetArt&quot;&gt;\1&lt;/chain&gt;" dest="4+">
  125. <expression/>
  126. </RegExp>
  127. <RegExp input="$$3" output="\1" dest="6">
  128. <expression>.*/(.*).zip</expression>
  129. </RegExp>
  130. <RegExp input="$$3" output="&lt;episodeguide&gt;&lt;url cache=&quot;$$2-$$6.xml&quot;&gt;\1&lt;/url&gt;&lt;/episodeguide&gt;" dest="4+">
  131. <expression/>
  132. </RegExp>
  133. <expression noclean="1"/>
  134. </RegExp>
  135. </GetDetails>
  136. <GetArt dest="3">
  137. <RegExp input="$$4" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
  138. <RegExp input="$$1" output="&lt;url function=&quot;ParseArt&quot; cache=&quot;\1-$INFO[language].xml&quot;&gt;http://thetvdb.com/api/1D62F2F90030C444/series/\1/banners.xml&lt;/url&gt;" dest="4">
  139. <expression/>
  140. </RegExp>
  141. <expression noclean="1"/>
  142. </RegExp>
  143. </GetArt>
  144. <ParseArt dest="3">
  145. <RegExp input="$$4" output="&lt;details&gt;\1&lt;/details&gt;" dest="3">
  146. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4">
  147. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;graphical&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;</expression>
  148. </RegExp>
  149. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  150. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;graphical&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;((?!$INFO[language])[a-z])*&lt;/Language&gt;</expression>
  151. </RegExp>
  152. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  153. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;text&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;</expression>
  154. </RegExp>
  155. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  156. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;text&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;((?!$INFO[language])[a-z])*&lt;/Language&gt;</expression>
  157. </RegExp>
  158. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  159. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;series&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;blank&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;&lt;/Language&gt;</expression>
  160. </RegExp>
  161. <RegExp input="$$1" output="&lt;thumb aspect=&quot;poster&quot; type=&quot;season&quot; season=&quot;\2&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  162. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;season&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;[^&lt;]*[^S]*Season&gt;([0-9]+)&lt;/Season&gt;</expression>
  163. </RegExp>
  164. <RegExp input="$$1" output="&lt;thumb aspect=&quot;poster&quot; type=&quot;season&quot; season=&quot;\3&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  165. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;season&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;((?!$INFO[language])[a-z])*&lt;/Language&gt;[^&lt;]*[^S]*Season&gt;([0-9]+)&lt;/Season&gt;</expression>
  166. </RegExp>
  167. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot; type=&quot;season&quot; season=&quot;\2&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  168. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;seasonwide&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;[^&lt;]*[^S]*Season&gt;([0-9]+)&lt;/Season&gt;</expression>
  169. </RegExp>
  170. <RegExp input="$$1" output="&lt;thumb aspect=&quot;banner&quot; type=&quot;season&quot; season=&quot;\3&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  171. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;season&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;seasonwide&lt;/BannerType2&gt;[^&lt;]*&lt;Language&gt;((?!$INFO[language])[a-z])*&lt;/Language&gt;[^&lt;]*[^S]*Season&gt;([0-9]+)&lt;/Season&gt;</expression>
  172. </RegExp>
  173. <RegExp input="$$1" output="&lt;thumb aspect=&quot;poster&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  174. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;poster&lt;/BannerType&gt;</expression>
  175. </RegExp>
  176. <RegExp input="$$1" output="&lt;thumb aspect=&quot;poster&quot; type=&quot;season&quot; season=&quot;-1&quot;&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  177. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;poster&lt;/BannerType&gt;</expression>
  178. </RegExp>
  179. <RegExp conditional="fanart" input="$$5" output="&lt;fanart url=&quot;http://thetvdb.com/banners/&quot;&gt;\1&lt;/fanart&gt;" dest="4+">
  180. <RegExp input="$$1" output="&lt;thumb dim=&quot;\2&quot; colors=&quot;\3&quot; preview=&quot;_cache/\1&quot;&gt;\1&lt;/thumb&gt;" dest="5">
  181. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;fanart&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;([^&lt;]*)&lt;/BannerType2&gt;[^&lt;]*&lt;Colors&gt;([^&lt;]*)&lt;/Colors&gt;[^&lt;]*&lt;Language&gt;$INFO[language]&lt;/Language&gt;</expression>
  182. </RegExp>
  183. <RegExp input="$$1" output="&lt;thumb dim=&quot;\2&quot; colors=&quot;\3&quot; preview=&quot;_cache/\1&quot;&gt;\1&lt;/thumb&gt;" dest="5+">
  184. <expression repeat="yes">&lt;BannerPath&gt;([^&lt;]*)&lt;/BannerPath&gt;[^&lt;]*&lt;BannerType&gt;fanart&lt;/BannerType&gt;[^&lt;]*&lt;BannerType2&gt;([^&lt;]*)&lt;/BannerType2&gt;[^&lt;]*&lt;Colors&gt;([^&lt;]*)&lt;/Colors&gt;[^&lt;]*&lt;Language&gt;((?!$INFO[language])[a-z])*&lt;/Language&gt;</expression>
  185. </RegExp>
  186. <expression noclean="1"/>
  187. </RegExp>
  188. <expression noclean="1"/>
  189. </RegExp>
  190. </ParseArt>
  191. <!-- input: $1=html !-->
  192. <!-- input: $2=series url !-->
  193. <!-- returns: results in xml format <episodeguide><episode><title>*</title><url>*</url><season>*</season><epnum>*</epnum><thumb>*</thumb><id>*</id><aired>*</aired></episode>*</episodeguide> !-->
  194. <GetEpisodeList dest="3">
  195. <RegExp input="$$4" output="&lt;episodeguide&gt;\1&lt;/episodeguide&gt;" dest="3">
  196. <RegExp input="$$2" output="\2-\3" dest="10">
  197. <expression>http://(?:www\.)?thetvdb.com/api/(.+)/series/([0-9]*)/all/(.+).zip</expression>
  198. </RegExp>
  199. <RegExp conditional="!dvdorder">
  200. <!-- Regular episodes (Absolute order) -->
  201. <RegExp conditional="absolutenumber" input="$$1" output="&lt;episode&gt;&lt;id&gt;\1&lt;/id&gt;&lt;title&gt;\2&lt;/title&gt;&lt;aired&gt;\3&lt;/aired&gt;&lt;epnum&gt;\4&lt;/epnum&gt;&lt;season&gt;1&lt;/season&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;/episode&gt;" dest="4+">
  202. <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]*).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;FirstAired&gt;([^&lt;]*).*?&lt;absolute_number&gt;([0-9]*).*?&lt;/Episode&gt;</expression>
  203. </RegExp>
  204. <!-- Specials (Absolute order) -->
  205. <RegExp conditional="absolutenumber" input="$$1" output="&lt;episode&gt;&lt;id&gt;\1&lt;/id&gt;&lt;title&gt;\2&lt;/title&gt;&lt;aired&gt;\4&lt;/aired&gt;&lt;epnum&gt;\3&lt;/epnum&gt;&lt;season&gt;0&lt;/season&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;/episode&gt;" dest="4+">
  206. <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]*).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;EpisodeNumber&gt;([0-9]*).*?&lt;FirstAired&gt;([^&lt;]*).*?&lt;SeasonNumber&gt;0&lt;/SeasonNumber&gt;.*?&lt;/Episode&gt;</expression>
  207. </RegExp>
  208. <!-- Normal episodes -->
  209. <RegExp conditional="!absolutenumber" input="$$1" output="&lt;episode&gt;&lt;title&gt;\2&lt;/title&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;epnum&gt;\3&lt;/epnum&gt;&lt;season&gt;\5&lt;/season&gt;&lt;id&gt;\1&lt;/id&gt;&lt;aired&gt;\4&lt;/aired&gt;&lt;/episode&gt;" dest="4">
  210. <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]+).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;EpisodeNumber&gt;([0-9]+)[^&lt;]*.*?&lt;FirstAired&gt;([^&lt;]*)&lt;/FirstAired&gt;.*?&lt;SeasonNumber&gt;([0-9]+)[^&lt;]*.*?&lt;/Episode&gt;</expression>
  211. </RegExp>
  212. </RegExp>
  213. <!-- DVD order -->
  214. <RegExp conditional="dvdorder" input="$$1" output="&lt;episode&gt;&lt;title&gt;\4&lt;/title&gt;&lt;url cache=&quot;$$10.xml&quot;&gt;$$2&lt;/url&gt;&lt;epnum&gt;\2&lt;/epnum&gt;&lt;season&gt;\3&lt;/season&gt;&lt;id&gt;\1&lt;/id&gt;&lt;aired&gt;\5&lt;/aired&gt;&lt;/episode&gt;" dest="4">
  215. <expression repeat="yes">&lt;Episode&gt;.*?&lt;id&gt;([0-9]+).*?&lt;Combined_episodenumber&gt;([^&lt;]*).*?&lt;Combined_season&gt;([^&lt;]*).*?&lt;EpisodeName&gt;([^&lt;]*).*?&lt;FirstAired&gt;([^&lt;]*)&lt;/FirstAired&gt;.*?&lt;/Episode&gt;</expression>
  216. </RegExp>
  217. <expression noclean="1"/>
  218. </RegExp>
  219. </GetEpisodeList>
  220. <!-- input: $1=html -->
  221. <!-- returns: results in xml format <details><writer>*</writer><director>*</director><cast>*</cast><rating>*</rating><rank>*</rank><plot>*</plot> -->
  222. <GetEpisodeDetails dest="3">
  223. <RegExp input="$$4" output="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; standalone=&quot;yes&quot;?&gt;&lt;details&gt;\1&lt;/details&gt;" dest="3">
  224. <RegExp input="$$1" output="\1" dest="8">
  225. <expression noclean="1">&lt;Episode&gt;(.*?)&lt;/Episode&gt;</expression>
  226. </RegExp>
  227. <RegExp input="$$1" output="&lt;uniqueid&gt;$$2&lt;/uniqueid&gt;" dest="4">
  228. <expression>&lt;id&gt;([0-9]*)&lt;/id&gt;</expression>
  229. </RegExp>
  230. <RegExp input="$$8" output="&lt;seriesid&gt;\1&lt;/seriesid&gt;" dest="4+">
  231. <expression>&lt;seriesid&gt;([0-9]*)&lt;/seriesid&gt;</expression>
  232. </RegExp>
  233. <RegExp input="$$8" output="&lt;plot&gt;\1&lt;/plot&gt;" dest="4+">
  234. <expression>&lt;Overview&gt;([^&lt;]*)&lt;/Overview&gt;</expression>
  235. </RegExp>
  236. <RegExp input="$$8" output="\1" dest="6">
  237. <expression noclean="1">&lt;Writer&gt;([^&lt;]*)&lt;/Writer&gt;</expression>
  238. </RegExp>
  239. <RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="4+">
  240. <expression repeat="yes">([^\|]*)\|</expression>
  241. </RegExp>
  242. <RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="4+">
  243. <expression repeat="yes">([^,]*),</expression>
  244. </RegExp>
  245. <RegExp input="$$6" output="&lt;credits&gt;\1&lt;/credits&gt;" dest="4+">
  246. <expression>([^\|,]+)$</expression>
  247. </RegExp>
  248. <RegExp input="$$8" output="\1" dest="6">
  249. <expression noclean="1">&lt;Director&gt;([^&lt;]*)&lt;/Director&gt;</expression>
  250. </RegExp>
  251. <RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="4+">
  252. <expression repeat="yes">([^\|]*)\|</expression>
  253. </RegExp>
  254. <RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="4+">
  255. <expression repeat="yes">([^,]*),</expression>
  256. </RegExp>
  257. <RegExp input="$$6" output="&lt;director&gt;\1&lt;/director&gt;" dest="4+">
  258. <expression>([^\|,]+)$</expression>
  259. </RegExp>
  260. <RegExp input="$$8" output="\1" dest="6">
  261. <expression noclean="1">&lt;GuestStars&gt;([^&lt;]*)&lt;/GuestStars&gt;</expression>
  262. </RegExp>
  263. <RegExp input="$$6" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;/actor&gt;" dest="4+">
  264. <expression repeat="yes">([^\|]*)\|</expression>
  265. </RegExp>
  266. <RegExp input="$$6" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;/actor&gt;" dest="4+">
  267. <expression repeat="yes">([^,]*),</expression>
  268. </RegExp>
  269. <RegExp input="$$6" output="&lt;actor&gt;&lt;name&gt;\1&lt;/name&gt;&lt;/actor&gt;" dest="4+">
  270. <expression>([^\|,]+)$</expression>
  271. </RegExp>
  272. <RegExp input="$$8" output="&lt;title&gt;\1&lt;/title&gt;" dest="4+">
  273. <expression>&lt;EpisodeName&gt;([^&lt;]*)&lt;/EpisodeName&gt;</expression>
  274. </RegExp>
  275. <!-- Regular Episodes - Absolute Order -->
  276. <RegExp conditional="absolutenumber" input="$$8" output="&lt;season&gt;1&lt;/season&gt;&lt;episode&gt;\2&lt;/episode&gt;" dest="4+">
  277. <expression>&lt;SeasonNumber&gt;([1-9]*)&lt;/SeasonNumber&gt;.*?&lt;absolute_number&gt;([0-9]*)&lt;/absolute_number&gt;</expression>
  278. </RegExp>
  279. <!-- Specials - Absolute Order -->
  280. <RegExp conditional="absolutenumber" input="$$8" output="&lt;season&gt;0&lt;/season&gt;&lt;episode&gt;\1&lt;/episode&gt;" dest="4+">
  281. <expression>&lt;EpisodeNumber&gt;([0-9]*)&lt;/EpisodeNumber&gt;.*?&lt;SeasonNumber&gt;0&lt;/SeasonNumber&gt;</expression>
  282. </RegExp>
  283. <!-- Normal Season/Episodes -->
  284. <RegExp conditional="!absolutenumber" input="$$9" output="&lt;season&gt;\1&lt;/season&gt;" dest="4+">
  285. <RegExp conditional="!dvdorder" input="$$8" output="\1" dest="9">
  286. <expression clear="yes">&lt;SeasonNumber&gt;([^&lt;]*)&lt;/SeasonNumber&gt;</expression>
  287. </RegExp>
  288. <RegExp conditional="dvdorder" input="$$8" output="\1" dest="9">
  289. <expression>&lt;Combined_season&gt;([^&lt;]*)&lt;/Combined_season&gt;</expression>
  290. </RegExp>
  291. <expression/>
  292. </RegExp>
  293. <RegExp conditional="!absolutenumber" input="$$9" output="&lt;episode&gt;\1&lt;/episode&gt;" dest="4+">
  294. <RegExp conditional="!dvdorder" input="$$8" output="\1" dest="9">
  295. <expression clear="yes">&lt;EpisodeNumber&gt;([^&lt;]*)&lt;/EpisodeNumber&gt;</expression>
  296. </RegExp>
  297. <RegExp conditional="dvdorder" input="$$8" output="\1" dest="9">
  298. <expression>&lt;Combined_episodenumber&gt;([^&lt;]*)&lt;/Combined_episodenumber&gt;</expression>
  299. </RegExp>
  300. <expression/>
  301. </RegExp>
  302. <RegExp input="$$8" output="&lt;thumb&gt;http://thetvdb.com/banners/\1&lt;/thumb&gt;" dest="4+">
  303. <expression>&lt;filename&gt;([^&lt;]+)&lt;/filename&gt;</expression>
  304. </RegExp>
  305. <RegExp input="$$8" output="&lt;aired&gt;\1&lt;/aired&gt;" dest="4+">
  306. <expression>&lt;FirstAired&gt;([^&lt;]+)&lt;/FirstAired&gt;</expression>
  307. </RegExp>
  308. <RegExp input="$$8" output="&lt;displayseason&gt;\1&lt;/displayseason&gt;" dest="4+">
  309. <expression>&lt;airsbefore_season&gt;([^&lt;]+)&lt;/airsbefore_season&gt;</expression>
  310. </RegExp>
  311. <RegExp input="$$8" output="&lt;displayepisode&gt;\1&lt;/displayepisode&gt;" dest="4+">
  312. <expression>&lt;airsbefore_episode&gt;([^&lt;]+)&lt;/airsbefore_episode&gt;</expression>
  313. </RegExp>
  314. <RegExp input="$$8" output="&lt;displayafterseason&gt;\1&lt;/displayafterseason&gt;" dest="4+">
  315. <expression>&lt;airsafter_season&gt;([^&lt;]+)&lt;/airsafter_season&gt;</expression>
  316. </RegExp>
  317. <RegExp input="$INFO[RatingS]" output="$$12" dest="4+">
  318. <RegExp input="$$8" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="12+">
  319. <expression>&lt;Rating&gt;([^&lt;]+)&lt;/Rating&gt;</expression>
  320. </RegExp>
  321. <RegExp input="$$8" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="12+">
  322. <expression>&lt;RatingCount&gt;([^&lt;]+)&lt;/RatingCount&gt;</expression>
  323. </RegExp>
  324. <expression>TheTVDB</expression>
  325. </RegExp>
  326. <RegExp input="$INFO[RatingS]" output="$$13" dest="4+">
  327. <RegExp input="$$8" output="\1" dest="11">
  328. <expression clear="yes">&lt;IMDB_ID&gt;([^&lt;]+)&lt;/IMDB_ID&gt;</expression>
  329. </RegExp>
  330. <RegExp input="$$11" output="\1" dest="13">
  331. <RegExp conditional="fallback" input="$$8" output="&lt;rating&gt;\1&lt;/rating&gt;" dest="13+">
  332. <expression>&lt;Rating&gt;([^&lt;]+)&lt;/Rating&gt;</expression>
  333. </RegExp>
  334. <RegExp conditional="fallback" input="$$8" output="&lt;votes&gt;\1&lt;/votes&gt;" dest="13+">
  335. <expression>&lt;RatingCount&gt;([^&lt;]+)&lt;/RatingCount&gt;</expression>
  336. </RegExp>
  337. <expression>^$</expression>
  338. </RegExp>
  339. <RegExp input="$$11" output="&lt;chain function=&quot;GetIMDBRatingById&quot;&gt;$$11&lt;/chain&gt;" dest="13">
  340. <expression>(.+)</expression>
  341. </RegExp>
  342. <expression>IMDb</expression>
  343. </RegExp>
  344. <RegExp input="$$1" output="&lt;runtime&gt;\1&lt;/runtime&gt;" dest="4+">
  345. <expression>&lt;Runtime&gt;([^&lt;]+)&lt;/Runtime&gt;</expression>
  346. </RegExp>
  347. <expression noclean="1"/>
  348. </RegExp>
  349. </GetEpisodeDetails>
  350. </scraper>