Beispiel #1
0
        public List <Product> GetProductListByIndex(string search = "", int index = 1)
        {
            var          web      = HtmlWebSingleton.GetInstance();
            HtmlDocument document = web.Load(string.IsNullOrEmpty(search) ? string.Format(baseLink + mobileListLink, index) : string.Format(baseLink + searchLink, index, search));
            // var threadItems = document.DocumentNode.QuerySelectorAll(".list-item").ToList();
            //var threadItems = document.DocumentNode.QuerySelectorAll(".fs-lpil").ToList();
            var            threadItems = document.DocumentNode.QuerySelectorAll(".cnn-search__results-list").ToList();
            List <Product> items       = new List <Product>();

            foreach (var item in threadItems)
            {
                //var productName = HtmlEntity.DeEntitize(item.QuerySelector(".product-name a").InnerText);
                //var price = item.QuerySelector(".product-price").InnerText;
                //var image = item.QuerySelector(".mosaic-block .mosaic-backdrop img").Attributes["src"].Value;
                //var path = item.QuerySelector(".mosaic-block > a").Attributes["href"].Value;
                //var productName = item.QuerySelector(".fs-lpil-img").Attributes["title"].Value;
                var productName = HtmlEntity.DeEntitize(item.QuerySelector(".fs-lpil-if .fs-lpil-name >a").InnerText);
                var price       = item.QuerySelector(".fs-lpil-if .fs-lpil-price >p").InnerText;
                var image       = item.QuerySelector(".fs-lpil-img img").Attributes["data-original"].Value;
                var path        = item.QuerySelector(".fs-lpil-img").Attributes["href"].Value;
                items.Add(new Product()
                {
                    ProductName = productName,
                    Price       = price,
                    Thumbnail   = image,
                    Link        = path
                });
            }
            return(items);
        }
Beispiel #2
0
        public int GetTotalProduct(string search)
        {
            var          _web     = HtmlWebSingleton.GetInstance();
            HtmlDocument document = _web.Load(string.IsNullOrEmpty(search) ? string.Format(baseLink + mobileListLink, 1) : string.Format(baseLink + searchLink, 1, search));

            if (document.DocumentNode.QuerySelectorAll(".pageing-container .paging a").Count() != 0)
            {
                var link  = document.DocumentNode.QuerySelectorAll(".pageing-container .paging a").Last().Attributes["href"].Value;
                var total = link.Substring(link.LastIndexOf("=") + 1);
                return(Convert.ToInt32(total));
            }
            return(1);
        }
        public ProductDetail GetProductDetail(string link)
        {
            var          _web     = HtmlWebSingleton.GetInstance();
            HtmlDocument document = _web.Load(baseLink + link);
            var          detail   = document.DocumentNode.QuerySelector(".product-details");
            var          product  = new ProductDetail();

            product.Description = HtmlEntity.DeEntitize(detail.QuerySelector(".info .simple-prop").InnerHtml.InsertNewLine().RemoveHtmlTag());
            //product.Description = detail.QuerySelector(".info .simple-prop").InnerHtml;
            product.ProductName = HtmlEntity.DeEntitize(detail.QuerySelector("h1").InnerText);
            product.Price       = detail.QuerySelector(".product-price span").InnerText;
            var links = detail.QuerySelectorAll("#slider1_container > div > div  img:first-child").ToList();

            foreach (var item in links)
            {
                product.ImageLinkLst.Add(item.Attributes["src"].Value);
            }
            return(product);
        }