| 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 VideoWeed : 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("fkzd=\""); | |
| if (start > -1) | |
| start += 6; | |
| else | |
| { | |
| start = elem.InnerHtml.IndexOf(".filekey=\"") + 10; | |
| } | |
| end = elem.InnerHtml.IndexOf("\"", start); | |
| var fileKey = elem.InnerHtml.Substring(start, end - start); | |
| start = elem.InnerHtml.IndexOf(".cid=\"") + 6; | |
| end = elem.InnerHtml.IndexOf("\"", start); | |
| var cid = elem.InnerHtml.Substring(start, end - start); | |
| start = elem.InnerHtml.IndexOf(".cid2=\"") + 7; | |
| end = elem.InnerHtml.IndexOf("\"", start); | |
| var cid2 = elem.InnerHtml.Substring(start, end - start); | |
| url = String.Format("{5}api/player.api.php?cid={0}&key={1}&pass=undefined&user=undefined&file={2}&cid3={3}&numOfErrors=0&cid2={4}", | |
| cid, fileKey, file, "", cid2, RootUrl); | |
| elem = Get(new Uri(url).AbsoluteUri); | |
| url = elem.InnerHtml.Substring(4, elem.InnerHtml.IndexOf("&") - 4); | |
| return new Uri(url).AbsoluteUri; | |
| } | |
| public override string RootUrl | |
| { | |
| get { return "http://www.videoweed.es/"; } | |
| } | |
| public override string ID | |
| { | |
| get { return ScrapperId.VideoWeed; } | |
| } | |
| public override string Title | |
| { | |
| get { return "Videoweed"; } | |
| } | |
| public override ScraperRank Rank | |
| { | |
| get | |
| { | |
| return ScraperRank.VideoWeed; | |
| } | |
| } | |
| 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.videoweed.es/file/{0}", url.Substring(start, end - start)); | |
| } | |
| return url; | |
| } | |
| public override string GetFlashUrl(string url) | |
| { | |
| return url.Replace(".ch", ".es").Replace(".com", ".es"); | |
| } | |
| public override bool CanProcess(string url) | |
| { | |
| if (base.CanProcess(url)) | |
| return true; | |
| return url.ToLower().Contains(".videoweed."); | |
| } | |
| } | |
| } | |