|
|
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 Dwn : VideoScraperBase
|
|
|
{
|
|
|
protected override string OnScrape(string url, HtmlNode elem)
|
|
|
{
|
|
|
url = SubstringBetween(elem.InnerHtml, "un=\"", "\"");
|
|
|
if (!url.StartsWith("http"))
|
|
|
url = "http://" + url;
|
|
|
return new Uri(url).AbsoluteUri;
|
|
|
}
|
|
|
|
|
|
|
|
|
public override string RootUrl
|
|
|
{
|
|
|
get { return "http://dwn.so/"; }
|
|
|
}
|
|
|
|
|
|
public override string ID
|
|
|
{
|
|
|
get { return ScrapperId.Dwn; }
|
|
|
}
|
|
|
|
|
|
public override string Title
|
|
|
{
|
|
|
get { return "Dwn"; }
|
|
|
}
|
|
|
|
|
|
public override ScraperRank Rank
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
return ScraperRank.Dwn;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
public override string SanitizeUrl(string url)
|
|
|
{
|
|
|
if (url.ToLower().Contains("dwn.so/xml/videolink"))
|
|
|
return url;
|
|
|
if (!url.ToLower().Contains("dwn.so/player/embed.php?v="))
|
|
|
throw new Exception("Unknown format");
|
|
|
var id = SubstringBetween(url, "v=","&");
|
|
|
url = String.Format("http://dwn.so/xml/videolink.php?v={0}", id);
|
|
|
return url;
|
|
|
}
|
|
|
|
|
|
public override string GetFlashUrl(string url)
|
|
|
{
|
|
|
|
|
|
if (url.ToLower().Contains("dwn.so/xml/"))
|
|
|
{
|
|
|
var id = SubstringBetween(url, "v=");
|
|
|
url = String.Format("http://dwn.so/v/{0}", id);
|
|
|
}
|
|
|
return url;
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
}
|
|
|
|