Esempio n. 1
0
 /// <summary>
 /// 村
 /// </summary>
 /// <param name="e"></param>
 private void ParserVillage(CallbackEventArgs e)
 {
     try
     {
         _logger.Info($"ParserVillage->url[{e.Url}]");
         var list    = new List <GeographyModel>();
         var htmlDoc = e.HtmlDocument;
         var nodes   = htmlDoc.DocumentNode.SelectNodes("//tr[@class='villagetr']");
         if (nodes == null)
         {
             _logger.Warn($"ParserVillage->can't find nodes for {e.Url}");
             Request(e.Url, ParserVillage, e.Metadata);
             return;
         }
         foreach (var node in nodes)
         {
             string         villageCode = node.SelectSingleNode("td[1]").InnerText.Trim();
             string         villageName = node.SelectSingleNode("td[3]").InnerText.Trim();
             GeographyModel model       = new GeographyModel()
             {
                 ProvinceCode = e.Metadata["provinceCode"].ToString(),
                 ProvinceName = e.Metadata["provinceName"].ToString(),
                 CityCode     = e.Metadata["cityCode"].ToString(),
                 CityName     = e.Metadata["cityName"].ToString(),
                 CountyCode   = e.Metadata["countyCode"].ToString(),
                 CountyName   = e.Metadata["countyName"].ToString(),
                 TownCode     = e.Metadata["townCode"].ToString(),
                 TownName     = e.Metadata["townName"].ToString(),
                 VillageCode  = villageCode,
                 VillageName  = villageName
             };
             list.Add(model);
             //string msg = @$"{e.Metadata["provinceName"]}({e.Metadata["provinceCode"]})-{e.Metadata["cityCode"]}({e.Metadata["cityName"]})-{e.Metadata["countyCode"]}({e.Metadata["countyName"]})-{e.Metadata["townCode"]}({e.Metadata["townName"]})-{villageName}({villageCode})";
             //_logger.Info($"ParserTown->msg{msg}");
         }
         if (list.Count > 0)
         {
             _geographyService.InsertGeography(list);
         }
     }
     catch (Exception ex)
     {
         _logger.Error(ex, $"ParserVillage->{e.Url}");
     }
 }