/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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 »", string.Empty); return(output.IsFilled()); } catch (Exception ex) { Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message); return(false); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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å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); } }
/// <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 »", "Full synopsis »", "Full summary »", "See more »" }, string.Empty); output = Tools.Clean.Text.ValidizeResult(output); return(output.IsFilled()); } catch (Exception ex) { Log.WriteToLog(LogSeverity.Error, threadID, logCatagory, ex.Message); return(false); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }
/// <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); } }