///// <summary> ///// 省级信息 ///// </summary> ///// <returns></returns> //private bool GetProvince(string domCode, out string areaId, out string areaName) //{ // string _pattern = "[\\d{6}]+"; // areaId = MatchHelper.GetString(domCode, _pattern); // areaName = MatchHelper.RemoveHtmlTag(domCode); // return !string.IsNullOrWhiteSpace(areaId); //} ///// <summary> ///// 市/区信息 ///// </summary> ///// <returns></returns> //private bool GetCity(string domCode, out string areaId, out string areaName) //{ // string _pattern = "[\\d{6}]+"; // areaId = MatchHelper.GetString(domCode, _pattern); // areaName = MatchHelper.RemoveHtmlTag(domCode); // return !string.IsNullOrWhiteSpace(areaId); //} ///// <summary> ///// 县 ///// </summary> ///// <returns></returns> //private bool GetCounty(string domCode, out string areaId, out string areaName) //{ // string _pattern = "[\\d{6}]+"; // areaId = MatchHelper.GetString(domCode, _pattern); // areaName = MatchHelper.RemoveHtmlTag(domCode); // return !string.IsNullOrWhiteSpace(areaId); //} ///// <summary> ///// 镇 ///// </summary> ///// <returns></returns> //private bool GetTown(string domCode, out string areaId, out string areaName) //{ // string _pattern = "[\\d{6}]+"; // areaId = MatchHelper.GetString(domCode, _pattern); // areaName = MatchHelper.RemoveHtmlTag(domCode); // return !string.IsNullOrWhiteSpace(areaId); //} ///// <summary> ///// 村 ///// </summary> ///// <returns></returns> //private bool GetVillage(string domCode, out string areaId, out string areaName) //{ // string _pattern = "[\\d{6}]+"; // areaId = MatchHelper.GetString(domCode, _pattern); // areaName = MatchHelper.RemoveHtmlTag(domCode); // return !string.IsNullOrWhiteSpace(areaId); //} #endregion #region 返回区域信息 /// <summary> /// 省级信息 /// </summary> /// <param name="uri">页面URL地址</param> /// <param name="domCode">HTML代码</param> private void GetProvince(Uri uri, string domCode) { string _pattern = "<tr class=(\"|')provincetr(\"|')>([\\s\\S]*?)<\\/tr>"; string[] _trDoms = MatchHelper.GetStrings(domCode, _pattern); foreach (string _trDomStr in _trDoms) { ArrayList _alLinks = MatchHelper.GetHTMLATag(_trDomStr); foreach (object item in _alLinks) { string _strCUrl = MatchHelper.GetHrefString(item.ToString()); string _areaId = MatchHelper.GetNumber(item.ToString()); string _areaName = MatchHelper.RemoveHtmlTag(item.ToString()); TreeNode _treeNode = new TreeNode() { Text = $"{_areaName}({_areaId})" }; AddNodeToAreaTreeView(_treeNode, null); if (_treeNode != null) { // 获取下级区域信息,如果有则加载 Uri _uriChildren; // 下级区域的Url地址 if (Uri.TryCreate(uri, _strCUrl, out _uriChildren)) { string _url = _uriChildren.AbsoluteUri; // 获取数据 string _childrenPageDom = _httpHelper.GetHtml(_url, encode, false); if (!string.IsNullOrWhiteSpace(_childrenPageDom) && !_childrenPageDom.Equals("404")) { GetCity(_uriChildren, _childrenPageDom, _treeNode); } } } } } }