/// <summary> /// /// </summary> /// <param name="htmNode"></param> /// <returns></returns> public Models.Advertisement EscrapeAdInfo(HtmlAgilityPack.HtmlNode htmNode) { Models.Advertisement _adInfo = null; if (htmNode != null) { try { HtmlAgilityPack.HtmlNode __n = null; string _businessName = "[ERROR]"; __n = HtmlUtil.GetNode(htmNode, "meta", "itemprop", "name"); _businessName = __n.Attributes["content"].Value; _businessName = Models.Advertisement.Resolve(_businessName); string _description = "[NA]"; __n = HtmlUtil.GetNode(htmNode, "div", "class", "enhancedTextDesc paragraph"); if (__n != null) { _description = __n.InnerText; } string _phone = "[NA]"; try { /* <div class="preferredContact paragraph"> * <span class="prefix">ph:</span> * <span preferredcontact="1">(02) 8222 3333</span> * </div> */ _phone = HtmlUtil.GetNode(htmNode, "div", "class", "preferredContact paragraph").Descendants("span").ToArray()[1].InnerText; } catch { } string _fax = "[NA]"; //HtmlUtil.GetInnerText(_n, "div", "class", "phoneNumber"); /* * <span class="address">Level 11/ 75 Elizabeth St, Sydney NSW 2000</span> */ string _fullAddress = HtmlUtil.GetInnerText(htmNode, "span", "class", "address"); string _streetBlk = string.Empty; string _locality = string.Empty; string _region = string.Empty; string _postalCode = string.Empty; Parsers.SplitAddresses(_fullAddress, ref _streetBlk, ref _locality, ref _region, ref _postalCode); string _website = "[NA]"; __n = HtmlUtil.GetNode(htmNode, "a", "name", "listing_website"); if (__n != null) { _website = Models.Advertisement.Resolve(__n.InnerText); } string _latitude = "[NA]"; string _longitude = "[NA]"; /*<li flagnumber="1" * class="gold mappableListing listingContainer omnitureListing" * longitude="151.210118" * latitude="-33.867857" * product=";473590701;;;;evar26=Turner_Freeman_Lawye|evar23=O|evar46=YOLDSOL-DC" listingposition="1">*/ _latitude = htmNode.Attributes["latitude"].Value; _longitude = htmNode.Attributes["longitude"].Value; /* * <div class="yelp-rating review-rating" review="5"></div> */ string _rating = "[NA]"; __n = HtmlUtil.GetNode(htmNode, "div", "class", "yelp-rating review-rating"); if (__n != null) { _rating = __n.Attributes["review"].Value; } /* <a href="/nsw/sydney/edwards-barrie-13025623-listing.html?context=businessTypeSearch&referredBy=YOL" name="listing_name" class="omnitureListingNameLink" id="listing-name-link-25"> * <span id="listing-name-25">Edwards Barrie</span> * </a> */ string _adLink = "[ERROR]"; __n = HtmlUtil.GetNode(htmNode, "a", "class", "omnitureListingNameLink"); if (__n != null) { _adLink = __n.Attributes["href"].Value; } //-------------------------------------------------------- _adInfo = new Models.Advertisement() { BusinessName = _businessName, Description = _description, Phone = _phone, Fax = _fax, FullAddress = _fullAddress, StreetBlk = _streetBlk, Locality = _locality, Region = _region, PostalCode = _postalCode, Website = _website, Latitude = _latitude, Longtitude = _longitude, Rating = _rating, AdvertiserLink = string.Format("{0}{1}", this.directoryProviderSetting.BaseUrl, _adLink), }; } catch (Exception ex) { if (this.frameworkExceptionInvoke != null) { Exception _ex = new Exception(string.Format("Exception in {0}.{1}(?)", this.directoryProviderSetting.ServicedCountry.ToString(), "EscrapeAdInfo"), ex); this.frameworkExceptionInvoke(new Handlers.EventHandlers.FrameworkExceptionEventArgs(_ex)); } } } return(_adInfo); }
/// <summary> /// /// </summary> /// <param name="htmNode"></param> /// <returns></returns> public Models.Advertisement EscrapeAdInfo(HtmlAgilityPack.HtmlNode htmNode) { Models.Advertisement _adInfo = null; if (htmNode != null) { try { string _businessName = HtmlUtil.GetInnerText(htmNode, "span", "class", "listingTitle"); _businessName = Models.Advertisement.Resolve(_businessName); string _phone = HtmlUtil.GetInnerText(htmNode, "div", "class", "phoneNumber"); string _fax = "[NA]"; //HtmlUtil.GetInnerText(_n, "div", "class", "phoneNumber"); string _fullAddress = HtmlUtil.GetInnerText(htmNode, "div", "class", "address"); string _streetBlk = string.Empty; string _locality = string.Empty; string _region = string.Empty; string _postalCode = string.Empty; Parsers.SplitAddresses(_fullAddress, ref _streetBlk, ref _locality, ref _region, ref _postalCode); HtmlAgilityPack.HtmlNode __n = null; string _website = "[NA]"; __n = HtmlUtil.GetNode(htmNode, "ul", "class", "ypgListingLinks"); if (__n != null) { try { __n = HtmlUtil.GetNode(htmNode, "li", "class", "noPrint"); __n = __n.Descendants("a").ToArray()[0]; _website = __n.Attributes["href"].Value.Replace("/gourl/", string.Empty); } catch { } } string _adLink = "[NA]"; __n = HtmlUtil.GetNode(htmNode, "h3", "class", "listingTitleLine"); if (__n != null) { __n = __n.Descendants("a").ToArray()[0]; _adLink = __n.Attributes["href"].Value; } //-------------------------------------------------------- _adInfo = new Models.Advertisement() { BusinessName = _businessName, Phone = _phone, Fax = _fax, FullAddress = _fullAddress, StreetBlk = _streetBlk, Locality = _locality, Region = _region, PostalCode = _postalCode, Website = _website, AdvertiserLink = string.Format("{0}{1}", this.directoryProviderSetting.BaseUrl, _adLink), }; } catch (Exception ex) { if (this.frameworkExceptionInvoke != null) { Exception _ex = new Exception(string.Format("Exception in {0}.{1}(?)", this.directoryProviderSetting.ServicedCountry.ToString(), "EscrapeAdInfo"), ex); this.frameworkExceptionInvoke(new Handlers.EventHandlers.FrameworkExceptionEventArgs(_ex)); } } } return(_adInfo); }