Пример #1
0
        public override void LoadItem(MovieItem mi)
        {
            try
            {
                string data = Program.ReadDataFromLink(mi.url);
                int    pos  = data.IndexOf(@"Download</strong>:");
                if (pos == -1)
                {
                    return;
                }

                // find the urls for the movies, extract the string following "Download:
                string tempString = data.Substring(pos + 18);
                // find the end of the screen line (a </p> or a <br />)
                string[] tempStringArray = tempString.Split(new string[] { @"</p>", @"<br" }, StringSplitOptions.None);
                tempString = tempStringArray[0];

                // extract all the individual links from the tempString
                // Sample link: [0] = "<a href=\"http://movies.apple.com/movies/magnolia_pictures/twolovers/twolovers-clip_h480p.mov\">480p</a>"
                tempStringArray = tempString.Split(new Char[] { ',' });

                for (int i = 0; i < tempStringArray.Length; i++)
                {
                    string s1 = tempStringArray[i].Substring(tempStringArray[i].IndexOf(">") + 1, (tempStringArray[i].IndexOf(@"</a>") - tempStringArray[i].IndexOf(">") - 1));
                    string s2 = tempStringArray[i].Substring(tempStringArray[i].IndexOf("http"), tempStringArray[i].IndexOf("\">") - tempStringArray[i].IndexOf("http"));

                    mi.nvc.Add(s1, s2);
                }


                // now find the poster url
                // look for first 'Link to Catalog' then pick the src attribute from the first img tag

                tempString = data.Substring(data.IndexOf("<strong>Link to Catalog</strong>"));
                tempString = tempString.Substring(tempString.IndexOf("<img "));
                tempString = StringFunctions.subStrBetween(tempString, "src=\"", "\"");
                if (!tempString.StartsWith("http:", StringComparison.OrdinalIgnoreCase))
                {
                    tempString = "http:" + tempString;
                }
                mi.nvc.Add("poster", tempString);
            }
            catch (Exception e)
            {
                Program.log.WriteLine("Exception in LoadItem (" + mi.name + " " + mi.url + ")");
                Program.log.WriteLine(e.ToString());
            }
        }
 public MovieItem this[int index]
 {
     get
     {
         //we must cast our return object as PhoneNumber
         MovieItem mi = (MovieItem)this.List[index];
         if (mi.needLoad)
         {
             LoadItem(mi);
             mi.needLoad = false;
         }
         return(mi);
     }
     set
     {
         //warning, this is not for adding, but for reassigning
         //this will throw an exception if the index does not already
         //exist. Use Add(phoneNumber) to add to collection
         this.List[index] = value;
     }
 }
Пример #3
0
        public override void LoadItem(MovieItem mi)
        {
            try
            {
                mi.name = StringFunctions.subStrBetween(mi.name, "\"", "\"");

                string data    = Program.ReadDataFromLink(mi.url);
                string url     = StringFunctions.subStrBetween(data, "clipxml:'", "'");
                string newdata = Program.ReadDataFromLink(url);

                string type = StringFunctions.subStrBetween(newdata, "<title>", "</title>");
                type    = StringFunctions.subStrBetween(type, "<![CDATA[", "]]>");
                mi.name = mi.name + " (" + type + ")";
                mi.name = Regex.Replace(mi.name, @"\s+", " ");
                string urllow = StringFunctions.subStrBetween(newdata, "<urllow>", "</urllow>");
                urllow = StringFunctions.subStrBetween(urllow, "<![CDATA[", "]]>");
                if (urllow != null)
                {
                    mi.nvc.Add("480P", urllow);
                }
                string dwnurl = StringFunctions.subStrBetween(newdata, "<downloadurl>", "</downloadurl>");
                dwnurl = StringFunctions.subStrBetween(dwnurl, "<![CDATA[", "]]>");
                if (dwnurl != null)
                {
                    mi.nvc.Add("1080P", dwnurl);
                }
                //!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                //ADD A POSTER
                //string posterUrl = "http://www.trailerfreaks.com/" + subStrBetween(main, "<img src = \"", "\"");
                //nvc.Add("poster", posterUrl);
                //ADD IMDB
                //imdbId = subStrBetween(main, "www.imdb.com/title/", "/");
            }
            catch (Exception e)
            {
                Program.log.WriteLine("Exception in LoadItem (" + mi.name + " " + mi.url + ")");
                Program.log.WriteLine(e.ToString());
                return;
            }
        }
        public override void LoadItem(MovieItem mi)
        {
            try
            {
                string url;
                string trailerString;
                string trailerType;
                string data = Program.ReadDataFromLink(mi.url);
//                string[] tempStringArray = StringFunctions.splitBetween(data,"<tr style=\"\">","</tr>");
                string[] tempStringArray = StringFunctions.splitBetween(data, "<tr  itemprop=", "</tr>");
                for (int i = 0; i < tempStringArray.Length; i++)
                {
                    if (tempStringArray[i].Contains("standardTrailerName"))
                    {
                        trailerString = "standardTrailerName";
                    }
                    else if (tempStringArray[i].Contains("restrictedTrailerName"))
                    {
                        trailerString = "restrictedTrailerName";
                    }
                    else
                    {
                        trailerString = "";
                    }
// Get trailer Type
                    trailerType = StringFunctions.subStrBetween(tempStringArray[i], "itemprop=\"name\">", "</span>");
                    mi.name     = mi.name + " (" + trailerType + ")";
                    mi.name     = Regex.Replace(mi.name, @"\s+", " ");
                    if (trailerString.Length > 0)
                    {
                        string[] links = StringFunctions.splitBetween(tempStringArray[i], "<a", "</a>");
                        foreach (string link in links)
                        {
                            if (link.Contains("title") && !link.Contains("Redirection"))
                            {
                                string quality;
                                string ContentID;
                                string YahooString1;
                                quality = StringFunctions.subStrBetween(link, ">", "</a>");
                                if (link.Contains("yahoo"))
                                {
                                    ContentID    = StringFunctions.subStrBetween(link, "?id=", "&amp");
                                    YahooString1 = "http://video.query.yahoo.com/v1/public/yql?q=SELECT%20*%20FROM%20yahoo.media.video.streams%20WHERE%20id%3D%22[CONTENT_ID]%22%20AND%20format%3D%22mp4%22%20AND%20protocol%3D%22http%22%20AND%20plrs%3D%22sdwpWXbKKUIgNzVhXSce__%22%20AND%20region%3D%22US%22%3B&env=prod&format=json";
                                    YahooString1 = YahooString1.Replace("[CONTENT_ID]", ContentID);
                                    string   data1            = Program.ReadDataFromLink(YahooString1);
                                    string[] tempStringArray1 = StringFunctions.splitBetween(data1, "{", "}");
                                    for (int ii = 0; ii < tempStringArray1.Length; ii++)
                                    {
                                        string Resolution = StringFunctions.subStrBetween(tempStringArray1[ii], "\"height\":", ".0");
                                        string Quality1   = quality.Replace("p", "");
                                        if (!String.IsNullOrEmpty(Resolution))
                                        {
                                            if (Resolution == "540")
                                            {
                                                Resolution = "480";
                                            }
                                            if (Resolution.Contains(Quality1))
                                            {
                                                string host = StringFunctions.subStrBetween(tempStringArray1[ii], "\"host\":\"", "\"");;
                                                string path = StringFunctions.subStrBetween(tempStringArray1[ii], "\"path\":\"", "\"");;
                                                url = host + path;
                                                mi.nvc.Add(quality, url);
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    url = StringFunctions.subStrBetween(link, "href=\"", "\"");
                                    if (!url.Contains("how-to-download-hd-trailers-from-apple"))
                                    {
                                        mi.nvc.Add(quality, url);
                                    }
                                }
                            }
                        }
                        string poster = StringFunctions.subStrBetween(data, "<span class=\"topTableImage\">", "</span>");
                        poster = StringFunctions.subStrBetween(poster, "src=\"", "\"");
                        if (!poster.StartsWith("http:", StringComparison.OrdinalIgnoreCase))
                        {
                            poster = "http:" + poster;
                        }
                        mi.nvc.Add("poster", poster);
                        break;
                    }
                }
            }
            catch (Exception e)
            {
                Program.log.WriteLine("Exception in GetDownloadUrls (" + mi.url + ")");
                Program.log.WriteLine(e.ToString());
            }
        }
 public void Add(MovieItem movieItem)
 {
     this.List.Add(movieItem);
 }
 abstract public void LoadItem(MovieItem mi);
        public override void LoadItem(MovieItem mi)
        {
            try
            {
                /*  DateTime TrailerDateTime;
                 * TrailerDateTime = new DateTime();
                 * //<pubDate>2011-06-26 16:49:33</pubDate>
                 * TrailerDateTime = DateTime.ParseExact(pubDate, "yyyy-MM-dd HH:mm:ss", null);
                 * //CHANGE 5 TO 30 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                 * if ((DateTime.Now - TrailerDateTime).Days > 30) return;
                 */

                string data = Program.ReadDataFromLink(mi.url);

                string   main     = StringFunctions.subStrBetween(data, "<div class=\"maincontent\">", "</table>");
                string[] trailers = StringFunctions.splitBetween(main, "<tr>", "</tr>");

                int best = 0;
                foreach (String trailer in trailers)
                {
                    if (trailer.Contains("trailerinfo") && trailer.Contains("href") && trailer.Contains("http:"))
                    {
                        string type  = StringFunctions.subStrBetween(trailer, "<b>", "</b>");
                        int    match = StringFunctions.countMach(type, mi.name);
                        if (match > best)
                        {
                            best   = match;
                            mi.nvc = new NameValueCollection();
                            string[] links = StringFunctions.splitBetween(trailer, "<a", "</a>");
                            foreach (String linkStr in links)
                            {
//                                string link = System.Web.VirtualPathUtility.ToAbsolute(StringFunctions.subStrBetween(linkStr, "href=\"", "\""));
//                                string link = System.Web.VirtualPathUtility.ToAbsolute("~" + StringFunctions.subStrBetween(linkStr, "href=\"", "\""));
                                string link = StringFunctions.subStrBetween(linkStr, "href=\"", "\"");
                                string size = StringFunctions.subStrBetween(linkStr, ">");
                                size = size.ToLowerInvariant();
                                mi.nvc.Add(size, link);
                                for (int n = 0; n < mi.nvc.Count; n++)
                                {
                                    Console.WriteLine(mi.nvc[n]);
                                }
                                string test  = mi.nvc.Get(size);
                                string test2 = "(" + test + ")";
                            }
                        }
                    }
                }
                string posterUrl = "http://www.trailerfreaks.com/" + StringFunctions.subStrBetween(main, "<img src = \"", "\"");
                mi.nvc.Add("poster", posterUrl);
                if (!posterUrl.StartsWith("http:", StringComparison.OrdinalIgnoreCase))
                {
                    posterUrl = "http:" + posterUrl;
                }
                mi.imdbId = StringFunctions.subStrBetween(main, "www.imdb.com/title/", "/");
                for (int n = 0; n < mi.nvc.Count; n++)
                {
                    Console.WriteLine(mi.nvc[n]);
                }

                foreach (string s in mi.nvc.Keys)
                {
                    Console.WriteLine(mi.nvc[s]);
                }
            }
            catch (Exception e)
            {
                Program.log.WriteLine("Exception in LoadItem (" + mi.name + " " + mi.url + ")");
                Program.log.WriteLine(e.ToString());
                return;
            }
        }