Esempio n. 1
0
        private static IEnumerable <Commerciante> EstraiInfo(IEnumerable <HtmlNode> list)
        {
            var result = new List <Commerciante>();

            foreach (var htmlNode in list)
            {
                var item = new Commerciante();
                var name = htmlNode.CssSelect("div.item_sx div.item_head div.org.fn h2.rgs a").FirstOrDefault();
                if (name != null)
                {
                    item.Nome             = name.InnerText.Ripulisci();
                    item.LinkPagineGialle = name.Attributes["href"].Value;
                }
                var indirizzo = htmlNode.CssSelect("div.item_sx div.address").FirstOrDefault();
                if (indirizzo != null)
                {
                    var street = indirizzo.CssSelect("span.street-address").FirstOrDefault();
                    if (street != null)
                    {
                        item.Indirizzo = street.InnerText.Ripulisci();
                    }
                    var locality = indirizzo.CssSelect("div.locality").FirstOrDefault();
                    if (locality != null)
                    {
                        var rx  = new Regex(@"^\d{5}");
                        var loc = locality.InnerText.Ripulisci();
                        var cap = rx.Match(loc).Value;
                        item.Cap   = cap;
                        item.Citta = rx.Replace(loc, String.Empty).Trim();
                    }
                    var telefono = indirizzo.CssSelect("div.tel").FirstOrDefault();
                    if (telefono != null)
                    {
                        foreach (var contatto in telefono.ChildNodes)
                        {
                            if (contatto != null)
                            {
                                item.Contatti += contatto.InnerText.Ripulisci();
                            }
                        }
                    }
                }

                var link = htmlNode.CssSelect("div.item_sx div.link a").FirstOrDefault();
                if (link != null)
                {
                    item.Link = link.Attributes.Where(x => x.Name == "href").Select(x => x.Value).FirstOrDefault();
                }
                var desc = htmlNode.CssSelect("div.item_sx div.text p.abstract").FirstOrDefault();
                if (desc != null)
                {
                    item.Descrizione = desc.InnerText.Ripulisci();
                }
                result.Add(item);
            }
            return(result);
        }
Esempio n. 2
0
        private static IEnumerable<Commerciante> EstraiInfo(IEnumerable<HtmlNode> list)
        {
            var result = new List<Commerciante>();
            foreach (var htmlNode in list)
            {
                var item = new Commerciante();
                var name = htmlNode.CssSelect("div.item_sx div.item_head div.org.fn h2.rgs a").FirstOrDefault();
                if (name != null) {
                    item.Nome = name.InnerText.Ripulisci();
                    item.LinkPagineGialle = name.Attributes["href"].Value;
                }
                var indirizzo = htmlNode.CssSelect("div.item_sx div.address").FirstOrDefault();
                if (indirizzo != null)
                {
                    var street = indirizzo.CssSelect("span.street-address").FirstOrDefault();
                    if (street != null)
                        item.Indirizzo = street.InnerText.Ripulisci();
                    var locality = indirizzo.CssSelect("div.locality").FirstOrDefault();
                    if (locality != null)
                    {
                        var rx = new Regex(@"^\d{5}");
                        var loc = locality.InnerText.Ripulisci();
                        var cap = rx.Match(loc).Value;
                        item.Cap = cap;
                        item.Citta = rx.Replace(loc, String.Empty).Trim();

                    }
                    var telefono = indirizzo.CssSelect("div.tel").FirstOrDefault();
                    if (telefono != null)
                    {
                        foreach (var contatto in telefono.ChildNodes)
                        {
                            if (contatto != null)
                                item.Contatti += contatto.InnerText.Ripulisci();
                        }
                    }
                }

                var link = htmlNode.CssSelect("div.item_sx div.link a").FirstOrDefault();
                if (link != null)
                    item.Link = link.Attributes.Where(x => x.Name == "href").Select(x => x.Value).FirstOrDefault();
                var desc = htmlNode.CssSelect("div.item_sx div.text p.abstract").FirstOrDefault();
                if (desc != null)
                    item.Descrizione = desc.InnerText.Ripulisci();
                result.Add(item);
            }
            return result;
        }