Beispiel #1
0
        void getscraped()
        {
            try
            {
                string s = txtScraped.Text;
                HtmlAgilityPack.HtmlWeb      web = new HtmlAgilityPack.HtmlWeb();
                HtmlAgilityPack.HtmlDocument doc = web.LoadFromBrowser(s);
                var mheader    = doc.DocumentNode.SelectSingleNode("//h1[contains(@data-testid,'hero-title-block__title')]");
                var mdesc      = doc.DocumentNode.SelectSingleNode("//span[contains(@data-testid,'plot-xs')]");
                var mrating    = doc.DocumentNode.SelectNodes("//div[contains(@data-testid,'genres')]/a");
                var mrate      = doc.DocumentNode.SelectSingleNode("//div[contains(@data-testid,'hero-title-block__aggregate-rating__score')]/span");
                var mphotolink = doc.DocumentNode.SelectSingleNode("//a[contains(@class,'ipc-lockup-overlay')]");
                Thread.Sleep(2000);
                var link = doc.DocumentNode
                           .Descendants("a")
                           .First(x => x.Attributes["class"] != null &&
                                  x.Attributes["class"].Value == "ipc-lockup-overlay ipc-focusable");
                string hrefValue = link.Attributes["href"].Value;
                Console.WriteLine("Title " + mheader.InnerText + "Rate " + mrate.InnerText);
                List <string> links = new List <string>();
                Console.WriteLine("Desc : " + mdesc.InnerText);
                foreach (var item in mrating)
                {
                    Console.WriteLine("Genre " + item.InnerText);
                    lblGenre.Text += item.InnerText + "\n";
                }
                string linkforpicbox = "https://www.imdb.com" + hrefValue;
                lblTitle.Text = mheader.InnerText;
                lblRate.Text  = mrate.InnerText + "/10";
                rtbDesc.Text  = mdesc.InnerText;
                var chromeOptions = new ChromeOptions();//δημιουργια αντικειμενου για να περασουμε τις επιλογες που θελουμε για το chrome driver
                //chromeOptions.AddArguments("headless");//επιλογη ωστε το chrome driver να δουλευει χωρις κεφαλη
                chromeOptions.AddUserProfilePreference("profile.default_content_setting_values.cookies", 2);
                var    experimentalFlags = new List <string>();
                string mediasrc          = "";                                        //μεταβλητη που θα την γεμισουμε μετα
                var    driverService     = ChromeDriverService.CreateDefaultService();
                driverService.HideCommandPromptWindow = true;                         //κρυψιμο του prompt του selenium
                ChromeDriver driver = new ChromeDriver(driverService, chromeOptions); //δημιουργια chrome driver αντικειμενου και περασμα παραμετρων

                chromeOptions.AddLocalStatePreference("browser.enabled_labs_experiments",
                                                      experimentalFlags);

                driver.Navigate().GoToUrl("https://www.google.gr/imghp?hl=el&ogbl");
                Thread.Sleep(2000);
                var cookies = driver.Manage().Cookies.AllCookies;

                var txt = driver.FindElement(By.Name("q"));
                txt.SendKeys(mheader.InnerText);
                driver.FindElement(By.ClassName("Tg7LZd")).Click();
                IWebElement l = driver.FindElement(By.XPath("//a[@rel='noopener']"));
                //getAttribute() to get src of image
                Thread.Sleep(2000);
                Console.WriteLine("Src attribute is: " + l.GetAttribute("href"));
                string aa = l.GetAttribute("src");
                picboxScraped.Load("https://img.cineplexx.gr/media/gr/inc/movies_licences/AQuietPlace2_Plakat.jpg");
            }
            catch (System.UriFormatException ex) { }
        }