|
|
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 Novamov : 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.novamov.com/"; }
|
|
|
}
|
|
|
|
|
|
public override string ID
|
|
|
{
|
|
|
get { return ScrapperId.Novamov; }
|
|
|
}
|
|
|
|
|
|
public override string Title
|
|
|
{
|
|
|
get { return "Novamov"; }
|
|
|
}
|
|
|
|
|
|
public override bool CanProcess(string url)
|
|
|
{
|
|
|
if (base.CanProcess(url))
|
|
|
return true;
|
|
|
return url.ToLower().Contains("embed.novamov.com");
|
|
|
}
|
|
|
|
|
|
public override string SanitizeUrl(string url)
|
|
|
{
|
|
|
|
|
|
if (url.Contains("embed.novamov.com"))
|
|
|
{
|
|
|
var u = new Uri(url);
|
|
|
url = String.Format("http://www.novamov.com/video/{0}", HttpUtility.ParseQueryString(u.Query).Get("v"));
|
|
|
}
|
|
|
else if (url.Contains("embed.php"))
|
|
|
{
|
|
|
url = String.Format("http://www.novamov.com/video/{0}", SubstringBetween(url,".php?v="));
|
|
|
}
|
|
|
return url;
|
|
|
}
|
|
|
|
|
|
public override ScraperRank Rank
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
return ScraperRank.Novamov;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public override string GetFlashUrl(string url)
|
|
|
{
|
|
|
|
|
|
|
|
|
if (url.Contains("http://embed.novamov.com"))
|
|
|
{
|
|
|
var id = SubstringBetween(url, "v=");
|
|
|
url = string.Format("http://www.novamov.com/video/{0}", id);
|
|
|
}
|
|
|
return base.GetFlashUrl(url);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|