示例#1
0
        public static void ScapeDataByCountyOrZip()
        {
            LogHelper.log.Info("ScapeDataByCountyOrZip start");
            var fileName = ConfigurationManager.AppSettings.Get("CountyZipFile").ToString();
            var json     = File.ReadAllText(fileName);

            var           list = JsonConvert.DeserializeObject <List <CountyZipModel> >(json);
            DayCareScrape me   = new DayCareScrape("http://www.dleg.state.mi.us");

            foreach (var r in list)
            {
                if (r.UseCounty)
                {
                    r.County = r.County.ToUpper();
                    var url = string.Format("/brs_cdc/rs_lfl.asp?cdc_name=&address=&cnty_name={0}&cdc_city=&cdc_zip=&ftype=DC&lic_name=&lic_nbr=&Search=Search&sorry=yes", r.County);
                    if (!me.ExtractDayByCounty(url))
                    {
                        r.UseCounty = false;
                    }
                }
            }
            string nweJson = JsonConvert.SerializeObject(list);

            System.IO.File.WriteAllText(fileName, nweJson);
            LogHelper.log.Info("ScapeDataByCountyOrZip end");
        }
示例#2
0
        public static List <DayCareModel> GetDetailData(List <ScrapeSource> list)
        {
            var           resultList = new List <DayCareModel>();
            DayCareScrape me         = new DayCareScrape("http://www.dleg.state.mi.us");

            foreach (var r in list)
            {
                try
                {
                    Console.WriteLine(BuildLogMessage(r));
                    var result = me.ExtractDayCareDetailList("http://www.dleg.state.mi.us/brs_cdc/" + r.DetailUrl);
                    result.FacilityInformation.County = r.County;
                    if (string.IsNullOrEmpty(result.FacilityInformation.Name))
                    {
                        LogHelper.log.Info(BuildLogMessage(r) + " no data scraped");

                        LogHelper.log.Info(BuildLogMessage(r) + " scrape again");
                        try
                        {
                            result = me.ExtractDayCareDetailList("http://www.dleg.state.mi.us/brs_cdc/" + r.DetailUrl);
                            result.FacilityInformation.County = r.County;
                            resultList.Add(result);
                        }
                        catch (Exception subex)
                        {
                            LogHelper.log.Info(BuildLogMessage(r) + "exception:" + subex.ToString());
                        }
                    }
                    resultList.Add(result);
                }
                catch (Exception ex)
                {
                    LogHelper.log.Info(BuildLogMessage(r) + "exception:" + ex.ToString());
                    if (ex.Message.IndexOf("The operation has timed out") >= 0 || ex.Message.IndexOf("无法连接到远程服务器") >= 0 || ex.Message.IndexOf("基础连接已经关闭") >= 0)
                    {
                        LogHelper.log.Info(BuildLogMessage(r) + " scrape again:");
                        try
                        {
                            var result = me.ExtractDayCareDetailList("http://www.dleg.state.mi.us/brs_cdc/" + r.DetailUrl);
                            result.FacilityInformation.County = r.County;
                            resultList.Add(result);
                        }
                        catch (Exception subex)
                        {
                            LogHelper.log.Info(BuildLogMessage(r) + "exception:" + subex.ToString());
                        }
                    }
                }

                Console.WriteLine(BuildLogMessage(r) + "- End...");
            }

            return(resultList);
        }
示例#3
0
        public static List <ScrapeSource> GetAllDetailList()
        {
            LogHelper.log.Info("scrape data list start");
            List <ScrapeSource> list    = new List <ScrapeSource>();
            var           zipCodeList   = new List <string>();
            var           file          = ConfigurationManager.AppSettings.Get("CountyZipFile").ToString();
            var           json          = File.ReadAllText(file);
            var           countyZipList = JsonConvert.DeserializeObject <List <CountyZipModel> >(json);
            DayCareScrape me            = new DayCareScrape("http://www.dleg.state.mi.us");

            foreach (var c in countyZipList)
            {
                if (c.UseCounty)
                {
                    Console.WriteLine("Scape by county:" + c.County);
                    try
                    {
                        var url = string.Format("/brs_cdc/rs_lfl.asp?cdc_name=&address=&cnty_name={0}&cdc_city=&cdc_zip=&ftype=DC&lic_name=&lic_nbr=&Search=Search&sorry=yes", c.County);
                        me.ExtractDayCareList(url, list, c.County, "");
                    }
                    catch (Exception ex)
                    {
                        LogHelper.log.Info("Scape by county:" + c.County + "exception:" + ex.ToString());
                    }
                    Console.WriteLine("Scape by county:" + c.County + "end...");
                }
                else
                {
                    foreach (var r in c.ZipCodeList)
                    {
                        Console.WriteLine("Scape by zipCode:" + r.ZipCode);
                        try
                        {
                            var url = string.Format("/brs_cdc/rs_lfl.asp?cdc_name=&address=&cnty_name=%25&cdc_city=&cdc_zip={0}&ftype=DC&lic_name=&lic_nbr=&Search=Search&sorry=yes", r.ZipCode.ToString());
                            me.ExtractDayCareList(url, list, c.County, r.ZipCode);
                        }
                        catch (Exception ex)
                        {
                            LogHelper.log.Info("Scape by zipCode:" + r.ZipCode + "exception:" + ex.ToString());
                        }
                        Console.WriteLine("Scape by zipCode:" + r.ZipCode + "end...");
                    }
                }
            }
            LogHelper.log.Info("scrape data list end");
            return(list);
        }