Exemplo n.º 1
0
        /// <summary>
        /// Scrapes the Cast collection.
        /// </summary>
        /// <param name="id">The Id for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Cast value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCast(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();

            try
            {
                var html = this.GetHtml("cast", threadID, id);

                var castBlockHtml = YRegex.Match(@"Darsteller(?<castblock>.*?)Drehbuchautor", html, "castblock");

                output =
                    YRegex.MatchesToPersonList(
                        @"src=""thumbnail\.php\?cover=(?<image>.*?)&size=6"".*?<b>(?<name>.*?)</b>.*?\.\.\.(?<role>.*?)</font></td>",
                        castBlockHtml,
                        "name",
                        "role",
                        "image");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Scrapes the poster image collection.
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped poster image collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapePoster(string id, int threadID, out BindingList <ImageDetailsModel> output, string logCatagory)
        {
            output = new BindingList <ImageDetailsModel>();

            try
            {
                var images = YRegex.MatchesToList(
                    @"<a\sonclick=""loadBigImage\('(?<url>/functions/download\.php\?id=\d[0-9].*?)'",
                    this.GetHtml("main", threadID, id),
                    "url");

                foreach (var s in images)
                {
                    output.Add(new ImageDetailsModel
                    {
                        UriFull = new Uri("http://www.filmdelta.se" + s)
                    });
                }

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Scrapes the Country copllection
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Country collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCountry(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();

            try
            {
                var country = YRegex.Match(
                    @"Long-métrage<a\sclass=""underline""\shref="".*?"">(?<country>.*?)</a><span>",
                    this.GetHtml("main", threadID, id),
                    "country",
                    true);

                if (!string.IsNullOrEmpty(country))
                {
                    output.Add(country);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Scrapes the poster image collection.
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped poster image collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapePoster(string id, int threadID, out BindingList <ImageDetailsModel> output, string logCatagory)
        {
            output = new BindingList <ImageDetailsModel>();

            try
            {
                var posterURL = YRegex.Match(
                    @"<a\sclass=""lightbox""\shref=""(?<poster>.*?)""",
                    this.GetHtml("main", threadID, id),
                    "poster");

                var posterURLSmall = posterURL.Replace("large.jpg", "small.jpg");

                output.Add(new ImageDetailsModel {
                    UriFull = new Uri(posterURL), UriThumb = new Uri(posterURLSmall)
                });

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Scrapes the writers value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped runtime value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeWriters(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();

            try
            {
                var htmlBlock = YRegex.Match(
                    @"<h4>Manus</h4>(?<writerblock>.*?)</div>",
                    this.GetHtml("main", threadID, id),
                    "writerblock");

                output = YRegex.MatchesToPersonList(
                    @"<.*?><h5><a\shref='.*?'>(?<writer>.*?)</a></h5><.*?>",
                    htmlBlock,
                    "writer",
                    true);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 6
0
        /// <summary>
        /// Searches the sites search engine for movies.
        /// </summary>
        /// <param name="query">The query.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>[true/false] if an error occurred.</returns>
        public new bool SearchSite(Query query, int threadID, string logCatagory)
        {
            try
            {
                var url =
                    string.Format(
                        "http://www.filmweb.pl/szukaj?q={0}&type=&startYear={1}&endYear={1}&startRate=&endRate=&startCount=&endCount=&sort=TEXT_SCORE&sortAscending=false",
                        query.Title.Replace(' ', '+'),
                        query.Year);

                var downloadHtml = Downloader.ProcessDownload(url, DownloadType.Html, Section.Movies).RemoveCharacterReturn();

                var match = "http://www.filmweb.pl" + YRegex.Match(@"searchResultTitle\shref=""(?<url>.*?)"">", downloadHtml, "url");

                var idMatch = YRegex.Match(@"http://www\.filmweb\.pl/(?<id>.*?)$", match, "id");

                query.Results.Add(
                    new QueryResult
                {
                    URL       = match,
                    FilmWebId = idMatch
                });

                return(true);
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// Scrapes the Cast collection.
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Cast value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCast(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();

            try
            {
                output = YRegex.MatchesToPersonList(
                    ">(?<name>.{0,40}?)</a></td><td class=\"ddd\"> ... </td><td class=\"char\">(?<role>.*?)</td>",
                    this.GetHtml("main", threadID, id),
                    "name",
                    "role",
                    "imgurl");

                foreach (var p in output)
                {
                    p.Name = p.Name.Replace("...", string.Empty).Trim();

                    if (!p.ImageUrl.Contains("SX400"))
                    {
                        p.ImageUrl = string.Empty;
                    }
                }

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Scrapes the tagline value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped tagline value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeTagline(string id, int threadID, out string output, string logCatagory)
        {
            output = string.Empty;

            try
            {
                output = YRegex.Match(
                    @"<h5>Tagline:</h5><div\sclass=""info-content"">(?<tagline>.*?)</div>",
                    this.GetHtml("main", threadID, id),
                    "tagline",
                    true);

                if (output.EndsWith(" more"))
                {
                    output.TrimEnd(" more".ToCharArray());
                }

                output = output.Replace("See more &raquo;", string.Empty);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 9
0
        /// <summary>
        /// Scrapes the Certification value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Certification value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCertification(string id, int threadID, out string output, string logCatagory)
        {
            output = string.Empty;

            try
            {
                var cert = YRegex.Match(@"<h5>Certification:</h5>(?<cert>.*?)</div>", this.GetHtml("main", threadID, id), "cert", true);

                var matches = Regex.Matches(cert, @"USA:(?<mpaa>.*?)\s|USA:(?<mpaa>.*?)$", RegexOptions.IgnoreCase);
                foreach (Match match in matches)
                {
                    if (!match.Groups["mpaa"].Value.Contains("TV"))
                    {
                        output = string.Format("{0}", match.Groups["mpaa"].Value);
                        break;
                    }
                }

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 10
0
        /// <summary>
        /// Scrapes the Country copllection
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Country collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCountry(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();

            try
            {
                var match = YRegex.MatchesToList(
                    "<a href=\"/country/.{0,30}?\">(?<country>.*?)</a>",
                    this.GetHtml("main", threadID, id),
                    "country",
                    true);

                foreach (var country in match)
                {
                    if (Equals(country, "UK"))
                    {
                        output.Add("United Kingdom");
                    }
                    else if (!country.ToLower(CultureInfo.CurrentCulture).Contains("imdb"))
                    {
                        output.Add(Tools.Clean.Text.ValidizeResult(country));
                    }
                }

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Scrapes the Director value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Director value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeDirector(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();

            try
            {
                var directors = YRegex.Match(
                    @"Directed By (?<director>.*?)\.",
                    this.GetHtml("main", threadID, id),
                    "director",
                    true);

                directors = Tools.Clean.Text.ValidizeResult(directors);

                output = directors
                         .Split(',')
                         .ToPersonList();

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Scrapes the Cast collection.
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Cast value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCast(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();
            try
            {
                var htmlBlock = YRegex.Match(
                    @"<th scope=""col"">Bohater</th>(?<actorblock>.*?)zobacz więcej",
                    this.GetHtml("main", threadID, id),
                    "actorblock");

                htmlBlock = Regex.Replace(htmlBlock.Replace("\t", string.Empty), @"\s{2,}", " ");

                output = YRegex.MatchesToPersonList(
                    @"<img.*?rc=""(?<thumb>.*?)""\stitle="".*?""\salt=.*?>\s(?<name>.*?)</a></td>\s<td.*?>\s(?<role>.*?)\s<s.*?</tr>",
                    htmlBlock,
                    "name",
                    "role",
                    "thumb");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Scrapes the Cast collection.
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Cast value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCast(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();

            try
            {
                var htmlBlock = YRegex.Match(
                    @"<h4>Sk&aring;despelare</h4>(?<castblock>.*?)</div>",
                    this.GetHtml("main", threadID, id),
                    "castblock",
                    true);

                output = YRegex.MatchesToPersonList(
                    @"<a href='.*?'>(?<name>.*?)</a>\s-\s(?<role>.*?)</h5>",
                    htmlBlock,
                    "name",
                    "role");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 14
0
        /// <summary>
        /// Scrapes the Plot value
        /// </summary>
        /// <param name="id">The ID for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Plot value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <param name="returnShort">if set to <c>true</c> short plot is returned if available.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapePlot(string id, int threadID, out string output, string logCatagory, bool returnShort)
        {
            output = string.Empty;

            try
            {
                if (returnShort)
                {
                    output = YRegex.Match(@"<h5>Plot:</h5>(?<plot>.*?)</div>", this.GetHtml("main", threadID, id), "plot", true);
                }
                else
                {
                    var plot = YRegex.Match(
                        @"<p class=""plotpar"">(?<plot>.*?)<i>",
                        this.GetHtml("plot", threadID, id),
                        "plot",
                        true);

                    if (!string.IsNullOrEmpty(plot))
                    {
                        output = plot.Trim();
                    }
                    else if (!string.IsNullOrEmpty(plot))
                    {
                        output = YRegex.Match(
                            @"<div id=""swiki.2.1"">(?<synopsis>.*?)</div>",
                            this.GetHtml("summary", threadID, id),
                            "synopsis",
                            true)
                                 .Trim();
                    }
                    else
                    {
                        this.ScrapePlot(id, threadID, out output, logCatagory, true);
                    }
                }

                output = output.Replace(
                    new[]
                {
                    "Add synopsis &raquo;",
                    "Full synopsis &raquo;",
                    "Full summary &raquo;",
                    "See more &raquo;"
                },
                    string.Empty);

                output = Tools.Clean.Text.ValidizeResult(output);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 15
0
        /// <summary>
        /// Scrapes the Title value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Title value.</param>
        /// <param name="alternatives">Alternative namings found for a title.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeTitle(string id, int threadID, out string output, out BindingList <string> alternatives, string logCatagory)
        {
            output       = string.Empty;
            alternatives = new BindingList <string>();

            try
            {
                var html            = this.GetHtml("main", threadID, id);
                var releaseInfoHtml = this.GetHtml("releaseinfo", threadID, id);

                output = YRegex.Match("(<title>)(.*)( [(].*</title>)", html, 2, true);

                var titleAltHtml = YRegex.Match(
                    @"\(AKA\)</a></h5><table\sborder=""0""\scellpadding=""2"">(?<html>.*?)</tr></table>",
                    releaseInfoHtml,
                    "html");

                var altTitles = YRegex.Matches(
                    @"<td>(?<name>.*?)</td><td>(?<details>.*?)</td>",
                    titleAltHtml,
                    "name",
                    "details",
                    true);

                alternatives.AddRange(from s in altTitles where !s.Value.ToLower().Contains(new[] { "imax ", "working ", "fake " }) select s.Key);

                if (html.Contains("title-extra"))
                {
                    var origTitle =
                        YRegex.Match(
                            @"class=""title-extra"">(?<title>.*?) <i>\(original title\)</i>",
                            html,
                            "title");

                    if (origTitle.Trim().Length > 0)
                    {
                        output = origTitle;
                    }
                }

                output = Regex.Replace(output, @"\(\d{4}\)", string.Empty);

                output = Tools.Clean.Text.ValidizeResult(output);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 16
0
        /// <summary>
        /// Scrapes the Plot value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Plot value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <param name="returnShort">if set to <c>true</c> short plot is returned if available.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapePlot(string id, int threadID, out string output, string logCatagory, bool returnShort)
        {
            output = string.Empty;

            try
            {
                output = YRegex.Match("SINOPSIS(?<plot>.*?)</tr>", this.GetHtml("main", threadID, id), "plot", true)
                         .ReplaceWithStringEmpty(new[] { "SINOPSIS:", "(FILMAFFINITY)" });

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 17
0
        /// <summary>
        /// Scrapes the Country copllection
        /// </summary>
        /// <param name="id">The Id for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Country collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>
        /// Scrape succeeded [true/false]
        /// </returns>
        public new bool ScrapeCountry(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();

            try
            {
                output = YRegex.MatchDelimitedToList(
                    "Nazione:(?<country>.*?)Anno", this.GetHtml("main", threadID, id), "country", ',', true);


                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 18
0
        /// <summary>
        /// Scrapes the studio value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped studio value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeStudio(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();
            try
            {
                output = YRegex.MatchesToList(
                    "dystrybucja:</dt><dd> (?<studio>.*?) </dd>",
                    this.GetHtml("main", threadID, id),
                    "studio");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 19
0
        /// <summary>
        /// Scrapes the Country copllection
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Country collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCountry(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();

            try
            {
                var html = this.GetHtml("main", threadID, id);

                output = YRegex.MatchesToList("Kat=Land&Text=(?<country>.*?)\"", html, "country", true);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 20
0
        /// <summary>
        /// Scrapes the Rating value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Reting value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeRating(string id, int threadID, out double output, string logCatagory)
        {
            output = -1;

            try
            {
                output = YRegex.Match(
                    @"font-weight:\sbold;"">(?<rating>\d,\d)</td>",
                    this.GetHtml("main", threadID, id),
                    "rating").ToDouble();

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 21
0
        /// <summary>
        /// Scrapes the writers value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped runtime value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeWriters(string id, int threadID, out BindingList <PersonModel> output, string logCatagory)
        {
            output = new BindingList <PersonModel>();
            try
            {
                output = YRegex.MatchesToPersonList(
                    @"reżyseria:(?<writer>.*?)scenariusz",
                    this.GetHtml("main", threadID, id),
                    "writer",
                    true);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 22
0
        /// <summary>
        /// Scrapes the runtime value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped runtime value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeRuntime(string id, int threadID, out int output, string logCatagory)
        {
            output = -1;
            try
            {
                output = YRegex.Match(
                    @"<div\sclass=time>(?<runtime>.*?)<span>",
                    this.GetHtml("main", threadID, id),
                    "runtime")
                         .ToInt();

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 23
0
        /// <summary>
        /// Scrapes the votes value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped votes value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeVotes(string id, int threadID, out int output, string logCatagory)
        {
            output = -1;
            try
            {
                output = YRegex.Match(
                    @"głosów:.*?>(?<votes>\d.*?)<",
                    this.GetHtml("main", threadID, id),
                    "votes")
                         .ToInt();

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 24
0
        /// <summary>
        /// Scrapes the Top250 value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Top250 value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeTop250(string id, int threadID, out int output, string logCatagory)
        {
            output = -1;
            try
            {
                output = YRegex.Match(
                    @"<span class=worldRanking>(?<top250>\d{1,3}).",
                    this.GetHtml("main", threadID, id),
                    "top250")
                         .ToInt();

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 25
0
        /// <summary>
        /// Scrapes the Genre collection
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Year collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeGenre(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();
            try
            {
                output = YRegex.MatchesToList(
                    @"<a href=""/search/film\?genreIds=\d{1,2}"">(?<genre>.*?)</a",
                    this.GetHtml("main", threadID, id),
                    "genre",
                    true);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 26
0
        /// <summary>
        /// Scrapes the Plot value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Plot value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <param name="returnShort">if set to <c>true</c> short plot is returned if available.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapePlot(string id, int threadID, out string output, string logCatagory, bool returnShort)
        {
            output = string.Empty;
            try
            {
                output = YRegex.Match(
                    "<span class=filmDescrBg property=\"v:summary\">(?<plot>.*?)</span>",
                    this.GetHtml("main", threadID, id),
                    "plot",
                    true);

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 27
0
        /// <summary>
        /// Scrapes the Original Title value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Original Title value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeOriginalTitle(string id, int threadID, out string output, string logCatagory)
        {
            output = string.Empty;

            try
            {
                output = YRegex.Match(
                    @"<title>(?<title>.*?)\s/\s(?<originaltitle>.*?)\s\((?<year>\d{4})\)",
                    this.GetHtml("main", threadID, id),
                    "originaltitle");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 28
0
        /// <summary>
        /// Scrapes the Country copllection
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Country collection.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeCountry(string id, int threadID, out BindingList <string> output, string logCatagory)
        {
            output = new BindingList <string>();

            try
            {
                output = YRegex.MatchesToList(
                    @"страна</td><td\sclass=""""><a\shref="".*?"">(?<country>.*?)</a>",
                    this.GetHtml("main", threadID, id),
                    "country");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// Scrapes the Original Title value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Original Title value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapeOriginalTitle(string id, int threadID, out string output, string logCatagory)
        {
            output = string.Empty;

            try
            {
                output = YRegex.Match(
                    @"<span\sstyle=""color:\s#666;\sfont-size:\s13px"">(?<Originaltitle>.*?)</span>",
                    this.GetHtml("main", threadID, id),
                    "Originaltitle");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }
Exemplo n.º 30
0
        /// <summary>
        /// Scrapes the Plot value
        /// </summary>
        /// <param name="id">The MovieUniqueId for the scraper.</param>
        /// <param name="threadID">The thread MovieUniqueId.</param>
        /// <param name="output">The scraped Plot value.</param>
        /// <param name="logCatagory">The log catagory.</param>
        /// <param name="returnShort">if set to <c>true</c> short plot is returned if available.</param>
        /// <returns>Scrape succeeded [true/false]</returns>
        public new bool ScrapePlot(string id, int threadID, out string output, string logCatagory, bool returnShort)
        {
            output = string.Empty;

            try
            {
                output = YRegex.Match(
                    @"<span\sclass=""_reachbanner_"">(?<plot>.*?)</span>",
                    this.GetHtml("main", threadID, id),
                    "plot");

                return(output.IsFilled());
            }
            catch (Exception ex)
            {
                Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message);
                return(false);
            }
        }