File size: 2,636 Bytes
e26fba6 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Web;
using System.Threading;
using System.Xml;
using HtmlAgilityPack;
namespace MovieTube.Client.Scraper
{
public class FlashX : VideoScraperBase
{
protected override string OnScrape(string url, HtmlNode elem)
{
var start = elem.InnerHtml.IndexOf("vid=") + 4;
var end = elem.InnerHtml.IndexOf("&", start);
url = elem.InnerHtml.Substring(start, end - start);
elem = Get(String.Format("http://play.flashx.tv/player/embed.php?vid={0}&width=620&height=400",url));
try
{
var yes = SelectItem(elem, "[name=hash]").Attributes["value"].Value;
var sec = SelectItem(elem, "[name=sechash]").Attributes["value"].Value;
var data = new NameValueCollection();
data.Add("hash", yes);
data.Add("sechash", sec);
elem = Post("http://play.flashx.tv/player/player.php", data);
}
catch
{
var yes = SelectItem(elem, "[name=yes]").Attributes["value"].Value;
var sec = SelectItem(elem, "[name=sec]").Attributes["value"].Value;
var data = new NameValueCollection();
data.Add("yes", yes);
data.Add("sec", sec);
elem = Post("http://play.flashx.tv/player/player.php", data);
}
start = elem.InnerHtml.IndexOf("config=") +7;
end = elem.InnerHtml.IndexOf("\"", start);
url = elem.InnerHtml.Substring(start, end - start);
//elem = Post(new Uri(url).AbsoluteUri, data);
var doc = new XmlDocument();
doc.Load(new Uri(url).AbsoluteUri);
var n = doc.SelectSingleNode("//file");
return new Uri(n.InnerText).AbsoluteUri;
}
public override string RootUrl
{
get { return "http://www.flashx.tv/"; }
}
public override string ID
{
get { return ScrapperId.FlashX; }
}
public override string Title
{
get { return "FlashX"; }
}
public override bool CanProcess(string url)
{
return base.CanProcess(url) || url.Contains("flashx.tv");
}
public override string SanitizeUrl(string url)
{
url = url.Replace("video/","");
return url;
}
}
}
|