| using System; | |
| using System.Collections.Generic; | |
| using System.Text; | |
| using System.Collections.Specialized; | |
| using System.Web; | |
| using System.Threading; | |
| using HtmlAgilityPack; | |
| namespace MovieTube.Client.Scraper | |
| { | |
| public class VideoRaj : VideoScraperBase | |
| { | |
| protected override string OnScrape(string url, HtmlNode elem) | |
| { | |
| var start = elem.InnerHtml.IndexOf("flashvars.file=\"") + 16; | |
| var end = elem.InnerHtml.IndexOf("\"", start); | |
| var file = elem.InnerHtml.Substring(start, end - start); | |
| start = elem.InnerHtml.IndexOf(".filekey=\"") + 10; | |
| end = elem.InnerHtml.IndexOf("\"", start); | |
| var fileKey = elem.InnerHtml.Substring(start, end - start); | |
| url = String.Format("{0}/api/player.api.php?cid=undefined&key={1}&pass=undefined&user=undefined&file={2}&cid3=undefined&numOfErrors=0&cid2=undefined", | |
| RootUrl, fileKey, file); | |
| elem = Get(new Uri(url).AbsoluteUri); | |
| url = elem.InnerHtml.Substring(4, elem.InnerHtml.IndexOf("&") - 4); | |
| return new Uri(HttpUtility.UrlDecode(url)).AbsoluteUri; | |
| } | |
| public override bool IsWebSupported | |
| { | |
| get | |
| { | |
| return false; | |
| } | |
| } | |
| public override string RootUrl | |
| { | |
| get { return "http://www.videoraj.ch"; } | |
| } | |
| public override string ID | |
| { | |
| get { return ScrapperId.VideoRaj; } | |
| } | |
| public override string Title | |
| { | |
| get { return "VideoRaj"; } | |
| } | |
| public override ScraperRank Rank | |
| { | |
| get | |
| { | |
| return ScraperRank.VideoRaj; | |
| } | |
| } | |
| public override string SanitizeUrl(string url) | |
| { | |
| if (!url.ToLower().Contains("embed.")) | |
| { | |
| var start = url.IndexOf("v/") + 2; | |
| var end = url.IndexOf("&", start); | |
| if (end == -1) | |
| end = url.Length; | |
| url = String.Format("http://www.videoraj.ch/embed.php?id={0}", url.Substring(start, end - start)); | |
| } | |
| return url; | |
| } | |
| public override bool CanProcess(string url) | |
| { | |
| if (base.CanProcess(url)) | |
| return true; | |
| return url.ToLower().Contains(".videoraj."); | |
| } | |
| } | |
| } | |