static void Main(string[] args) { ScraperService scraperService = new ScraperService(); using (var client = new HttpClient()) { // "Hey, look at this HTML page, and check out this table!" var html = client.GetStreamAsync("http://www.espn.com/esports/story/_/id/21152905/college-esports-list-varsity-esports-programs-north-america").Result; var parser = new HtmlParser(); var document = parser.Parse(html); var tableRows = document.QuerySelectorAll("table.inline-table tr.last"); List <School_Scraper> results = new List <School_Scraper>(); // Loop through table to scrape data foreach (var tr in tableRows) { var name = tr.QuerySelector("td"); var state = tr.QuerySelector("td:nth-child(2)"); var athletics = tr.QuerySelector("td:nth-child(3)"); var school = new School_Scraper(); school.Name = name.TextContent; school.State = state.TextContent; school.Athletics = athletics.TextContent; results.Add(school); // give school obj to Service 1 at a time scraperService.Post(school); } // Look at the list of schools we just scrapped! Console.WriteLine(JsonConvert.SerializeObject(results)); } // calls client.Dispose() }
public void Post(School_Scraper school) { using (SqlConnection con = new SqlConnection(connectionString)) { con.Open(); var cmd = con.CreateCommand(); cmd.CommandText = "Scraper_Post"; cmd.CommandType = System.Data.CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Name", school.Name); cmd.Parameters.AddWithValue("@State", school.State); cmd.Parameters.AddWithValue("@Athletics", school.Athletics); cmd.Parameters.Add("@Id", SqlDbType.Int).Direction = ParameterDirection.Output; cmd.ExecuteNonQuery(); //return (int)cmd.Parameters["@Id"].Value; } }