public async void Run() { try { response = await Task.Run(() => (HttpWebResponse)request.GetResponse()); if (response == null || response.StatusCode != HttpStatusCode.OK) { return; } stream = await Task.Run(() => response.GetResponseStream()); if (stream == null) { return; } reader = new StreamReader(stream, Encoding.UTF8); string JsonString = reader?.ReadToEnd(); if (string.IsNullOrEmpty(JsonString)) { return; } JObject Json = JObject.Parse(JsonString); if (Json == null) { return; } JArray JsonArray = JArray.Parse(Json["items"].ToString()); if (JsonArray != null && JsonArray.Count > 0) { MainWindow.main.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { MainWindow.NewsList.Clear(); Utils.StringParser parser = new Utils.StringParser(); for (int i = 0; i < JsonArray.Count; i++) { NewsModel content = new NewsModel(); content.Title = JsonArray[i]["title"]?.ToString(); content.Link = JsonArray[i]["originallink"]?.ToString(); MainWindow.NewsList.Add(content); MainWindow.main.lstBx_News.Items.Add(parser.HTMLParser(content.Title)); } }) ); } } catch (Exception err) { System.Diagnostics.Debug.WriteLine(err); return; } }
public void Run() { using (ChromeDriver _Driver = new ChromeDriver(_DriverService, _Options)) { List <string> indexAry = new List <string>(); _Driver.Url = "https://finance.daum.net/exchanges"; for (int i = 1; i < 16; i++) { indexAry.Add(_Driver.FindElement(By.XPath("//*[@id=\"boxContents\"]/div[2]/div[2]/div/table/tbody/tr[" + i + "]")).Text); } MainWindow.main.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { Utils.StringParser parser = new Utils.StringParser(); MainWindow.main.lstBx_Currency.Items.Clear(); for (int i = 0; i < indexAry.Count; i++) { MainWindow.main.lstBx_Currency.Items.Add(parser.HTMLParser(indexAry[i])); } }) ); } }
public void Run() { using (ChromeDriver _Driver = new ChromeDriver(_DriverService, _Options)) { List <string> indexAry = new List <string>(); _Driver.Url = "https://finance.naver.com/sise/sise_low_up.nhn"; for (int i = 3; i < 20; i++) { indexAry.Add(_Driver.FindElement(By.XPath("//*[@id=\"contentarea\"]/div[3]/table/tbody/tr[" + i + "]")).Text); } MainWindow.main.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { Utils.StringParser parser = new Utils.StringParser(); MainWindow.main.lstBx_Hots.Items.Clear(); for (int i = 0; i < indexAry.Count; i++) { MainWindow.main.lstBx_Hots.Items.Add(parser.HTMLParser(indexAry[i])); } }) ); } }
public void Run() { using (ChromeDriver _Driver = new ChromeDriver(_DriverService, _Options)) { List <string> indexAry = new List <string>(); _Driver.Url = "https://finance.naver.com/world/"; _Driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(2); indexAry.Add("[S&P] " + _Driver.FindElement(By.XPath("//*[@id=\"worldIndexColumn3\"]/li[1]/dl/dd[1]/strong")).Text + " => " + _Driver.FindElement(By.XPath("//*[@id=\"worldIndexColumn3\"]/li[1]/dl/dd[1]")).Text); indexAry.Add("[NASDAQ] " + _Driver.FindElement(By.XPath("//*[@id=\"worldIndexColumn2\"]/li[1]/dl/dd[1]/strong")).Text + " => " + _Driver.FindElement(By.XPath("//*[@id=\"worldIndexColumn2\"]/li[1]/dl/dd[1]")).Text); indexAry.Add("[DOW] " + _Driver.FindElement(By.XPath("//*[@id=\"worldIndexColumn1\"]/li[1]/dl/dd[1]/strong")).Text + " => " + _Driver.FindElement(By.XPath("//*[@id=\"worldIndexColumn1\"]/li[1]/dl/dd[1]")).Text); _Driver.Url = "https://finance.naver.com/sise/"; indexAry.Add("[KOSPI] " + _Driver.FindElement(By.XPath("//*[@id=\"KOSPI_now\"]")).Text + " => " + _Driver.FindElement(By.XPath("//*[@id=\"KOSPI_change\"]")).Text); indexAry.Add("[KOSDAQ] " + _Driver.FindElement(By.XPath("//*[@id=\"KOSDAQ_now\"]")).Text + " => " + _Driver.FindElement(By.XPath("//*[@id=\"KOSDAQ_change\"]")).Text); _Driver.Url = "https://finance.naver.com/world/"; indexAry.Add("----- 디테일 -----"); for (int i = 2; i < 22; i++) { indexAry.Add(_Driver.FindElement(By.XPath("//*[@id=\"americaIndex\"]/thead/tr[" + i + "]")).Text); } MainWindow.main.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { Utils.StringParser parser = new Utils.StringParser(); MainWindow.main.lstBx_Index.Items.Clear(); for (int i = 0; i < indexAry.Count; i++) { MainWindow.main.lstBx_Index.Items.Add(parser.HTMLParser(indexAry[i])); } }) ); } }