public static void SaveRegistroDirectores(CmfChileEntities db) { List <Core.ListadoFiscalizados> listadoFiscalizados = db.ListadoFiscalizados.ToList(); foreach (var item in listadoFiscalizados) { HtmlDocument page = LoadSite(item.UrlRegistroDirector); List <Core.ListadoDirectores> listadoDirectores = new List <Core.ListadoDirectores>(); var trs = page.DocumentNode.SelectNodes("//table/tr"); for (int i = 2; i <= trs.Count; i++) { var rut = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 1 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); if (rut != "Sin Información") { var nombre = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 2 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); var cargo = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 3 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); var fechaNombramiento = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 4 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); Core.ListadoDirectores itemListado = new Core.ListadoDirectores(); itemListado.Rut = rut.Replace(".", "").Replace(" ", " ").Trim(); itemListado.IdListadoFiscalizados = item.IdListadoFiscalizados; itemListado.Nombre = nombre.Replace(".", "").Replace(" ", " ").Trim(); itemListado.Cargo = cargo; itemListado.FechaNombramiento = fechaNombramiento; itemListado.DateScraping = DateTime.Now; listadoDirectores.Add(itemListado); } Console.WriteLine("Process item directors " + i + " From " + trs.Count); } db.ListadoDirectores.AddRange(listadoDirectores); db.SaveChanges(); } }
public static void SaveListadoFiscalizados(HtmlDocument page, string baseUrl, CmfChileEntities db) { List <Core.ListadoFiscalizados> listadoFiscalizados = new List <Core.ListadoFiscalizados>(); var trs = page.DocumentNode.SelectNodes("//table/tr"); for (int i = 3; i <= trs.Count; i++) { var url = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 1 + "]/a").First().Attributes[0].Value; url = baseUrl + url; var rut = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 1 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); var entidad = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 2 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); var estado = page.DocumentNode.SelectNodes("//table/tr[" + i + "]/td[" + 3 + "]").First().InnerText.Replace("\r", "").Replace("\t", "").TrimStart().TrimEnd(); Core.ListadoFiscalizados item = new Core.ListadoFiscalizados(); item.UrlListadoEmisor = url; item.Rut = rut; item.Estado = estado; item.Entidad = entidad.Replace(" ", " ").Trim(); item.DateScraping = DateTime.Now; listadoFiscalizados.Add(item); Console.WriteLine("Process item " + i + " From " + trs.Count); } db.ListadoFiscalizados.AddRange(listadoFiscalizados); db.SaveChanges(); }
public static void SaveUrlDirectores(string baseUrl, CmfChileEntities db) { List <Core.ListadoFiscalizados> listadoFiscalizados = db.ListadoFiscalizados.ToList(); foreach (var item in listadoFiscalizados) { HtmlDocument page = LoadSite(item.UrlListadoEmisor); var url = page.DocumentNode.SelectNodes("//a[@title='Registro de Directores, Admin. y Liq.']").First().Attributes[0].Value.Replace("&", "&"); url = baseUrl + url; item.UrlRegistroDirector = url; Console.WriteLine("Process item " + item.IdListadoFiscalizados); } Console.WriteLine("Guardando items procesados"); db.SaveChanges(); }