示例#1
0
        static void PreparaCargaDb()
        {
            var _context = new ValoresContext();

            _context.Database.ExecuteSqlCommand("TRUNCATE TABLE [Valores]"); //borran antiguos datos
            _context.SaveChanges();

            HtmlWeb oWeb = new HtmlWeb();

            HtmlDocument doc = oWeb.Load("https://www.acara.org.ar/guia-oficial-de-precios.php?tipo=AUTOS");

            List <string> Marcas = new List <string>();

            foreach (HtmlNode marcas in doc.DocumentNode.CssSelect(".col-sm-3"))
            {
                Marcas.Add(marcas.InnerText.Trim());
            }

            for (int i = 0; i < Marcas.Count; i++)
            {
                Console.Clear();

                Console.WriteLine("\n\rCargando " + Marcas[i] + " a la DB..");

                CargaValoresDb("https://www.acara.org.ar/guia-oficial-de-precios.php?tipo=AUTOS&marca=" + Marcas[i] + "&modelo=todos&version=todas", Marcas[i]);

                Console.WriteLine("\n\rMarca cargada con éxito!");
            }
        }
示例#2
0
        static void CargaValoresDb(string ruta, string marca)
        {
            var _context = new ValoresContext();

            HtmlWeb oWeb = new HtmlWeb();

            HtmlDocument doc = oWeb.Load(ruta);


            if (doc.DocumentNode.SelectNodes("//tr/th") != null && doc.DocumentNode.SelectNodes("//tr[td]") != null)
            {
                DataTable table = new DataTable();
                foreach (HtmlNode header in doc.DocumentNode.SelectNodes("//tr/th"))
                {
                    table.Columns.Add(header.InnerText);
                }
                foreach (var row in doc.DocumentNode.SelectNodes("//tr[td]"))
                {
                    table.Rows.Add(row.SelectNodes("td").Select(td => td.InnerText).ToArray());
                }

                foreach (DataRow fila in table.Rows)
                {
                    Valores val = new Valores();
                    val.Marca   = marca;
                    val.Modelo  = fila.ItemArray.GetValue(0).ToString();
                    val.Version = fila.ItemArray.GetValue(1).ToString();
                    val.Moneda  = fila.ItemArray.GetValue(2).ToString();
                    val.Okm     = fila.ItemArray.GetValue(3).ToString();
                    val.Año2019 = fila.ItemArray.GetValue(4).ToString();
                    val.Año2018 = fila.ItemArray.GetValue(5).ToString();
                    val.Año2017 = fila.ItemArray.GetValue(6).ToString();
                    val.Año2016 = fila.ItemArray.GetValue(7).ToString();
                    val.Año2015 = fila.ItemArray.GetValue(8).ToString();
                    val.Año2014 = fila.ItemArray.GetValue(9).ToString();
                    val.Año2013 = fila.ItemArray.GetValue(10).ToString();
                    val.Año2012 = fila.ItemArray.GetValue(11).ToString();
                    val.Año2011 = fila.ItemArray.GetValue(12).ToString();
                    val.Año2010 = fila.ItemArray.GetValue(13).ToString();
                    val.Año2009 = fila.ItemArray.GetValue(14).ToString();
                    val.Año2008 = fila.ItemArray.GetValue(15).ToString();
                    val.Año2007 = fila.ItemArray.GetValue(16).ToString();
                    val.Año2006 = fila.ItemArray.GetValue(17).ToString();
                    val.Año2005 = fila.ItemArray.GetValue(18).ToString();

                    _context.Add(val);

                    _context.SaveChanges();
                }
            }
            else
            {
                Console.WriteLine("\r\nError. Datos ingresados incorrectos.");
                Console.ReadKey();
                Main();
            }
        }