File size: 3,812 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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections.Specialized;
using System.Web;
using System.Threading;
using HtmlAgilityPack;
using System.Net;
using System.Linq;
using System.IO;

namespace MovieTube.Client.Scraper
{
    public class TheVideo : VideoScraperBase
    {
        protected override string OnScrape(string url, HtmlNode elem)
        {

            var hash = SelectItem(elem, "[name=hash]").Attributes["value"].Value;
            var id = SelectItem(elem, "[name=id]").Attributes["value"].Value;
            var fname = SelectItem(elem, "[name=fname]").Attributes["value"].Value;
            var inhu = SelectItem(elem, "[name=inhu]").Attributes["value"].Value;
            var data = new NameValueCollection();
            data.Add("_vhash", SubstringBetween(elem.InnerHtml, "name: '_vhash', value: '", "'"));
            data.Add("fname", fname);
            data.Add("gfk", SubstringBetween(elem.InnerHtml, "name: 'gfk', value: '", "'"));
            data.Add("hash", hash);
            data.Add("id", id);
            data.Add("imhuman", "Proceed to video");
            data.Add("inhu", inhu);
            data.Add("op", "download1");
            data.Add("referer", "");
            data.Add("usr_login", "");

            var cookies = new CookieCollection();
            cookies.Add(new Cookie("file_id", SubstringBetween(elem.InnerHtml, "'file_id', '", "'")) { Domain = "www.thevideo.me" });
            cookies.Add(new Cookie("aff", SubstringBetween(elem.InnerHtml, "'aff', '", "'")) { Domain = "www.thevideo.me" });
            cookies.Add(new Cookie("lang", "1") { Domain = "www.thevideo.me" });
            //cookies.Add(new Cookie("ref_url", url) { Domain = "www.thevideo.me" });
            //cookies.Add(new Cookie("mlUserID", "dtwVzu8bAWsc") { Domain = "www.thevideo.me" });
            //cookies.Add(new Cookie("__cfduid", "d629171dd342b852f8ddabc37c85b978e1406816048462") { Domain = ".thevideo.me" });
            var nv = new NameValueCollection();
            nv.Add("Referer", url);
            var c = 0;
            var eval = String.Empty;
            var text = Properties.Resources.Unpacker;
            while (c++ < 6)
            {
                elem = Post(url, data, cookies, nv);
                eval = SubstringBetween(elem.InnerHtml, "eval", "</");
                if (!String.IsNullOrEmpty(eval))
                    break;
                Thread.Sleep(1000);
            }
            
            eval = "eval" + eval;
            eval = eval.Replace("\"", "\\x22");
            url = SubstringBetween(UnpackScript(text.Replace("X", eval)), "file:'", "'");
            return new Uri(url).AbsoluteUri;
        }

       

        public override string RootUrl
        {
            get { return "http://www.thevideo.me"; }
        }

        public override string ID
        {
            get { return ScrapperId.TheVideo; }
        }

        public override string Title
        {
            get { return "TheVideo"; }
        }

        public override ScraperRank Rank
        {
            get
            {
                return ScraperRank.TheVideo;
            }
        }

        public override bool CanProcess(string url)
        {
            if (base.CanProcess(url))
                return true;
            return url.ToLower().Contains("thevideo.");
        }

        //public override string SanitizeUrl(string url)
        //{
        //    if (url.Contains("embed-"))
        //        return url;

        //    return String.Format("http://www.thevideo.me/embed-{0}.html?play=1&confirm=Close+Ad+and+Watch+as+Free+User", SubstringBetween(url, ".com/"));
        
        //}
    }
}