niobures's picture
VideoSearch
e26fba6 verified
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 Veoh : VideoScraperBase
{
protected override string OnScrape(string url, HtmlNode elem)
{
var start = elem.InnerHtml.IndexOf("previewUrl\":\"") + 13;
var end = elem.InnerHtml.IndexOf(",\"", start) - 1;
url = elem.InnerHtml.Substring(start, end - start).Replace("\\","");
return new Uri(url).AbsoluteUri;
}
public override string RootUrl
{
get { return "http://www.veoh.com/"; }
}
public override string ID
{
get { return ScrapperId.Veoh; }
}
public override string Title
{
get { return "Veoh"; }
}
public override ScraperRank Rank
{
get
{
return ScraperRank.Veoh;
}
}
public override string SanitizeUrl(string url)
{
if (!url.ToLower().Contains("http://www.veoh.com") && !url.Contains("/watch/") &&
!url.Contains("http://veoh.com/videos/"))
throw new Exception("Unknown format");
var id = SubstringBetween(url, url.ToLower().Contains("/videos/") ? "videos/" : "watch/");
url = String.Format("http://www.veoh.com/watch/{0}", id);
return url;
}
public override bool CanProcess(string url)
{
if (base.CanProcess(url))
return true;
return url.ToLower().Contains(".veoh.");
}
}
}