コード例 #1
0
        public static ProductPagger getProductList(int page = 1, int category = 110729, string sort = "standard", string translationType = "", string query = "", string categoryName = "")
        {
            if (sort == "+itemPrice")
            {
                sort = "%2BitemPrice";
            }
            string url = "http://buyee.jp/category/yahoo/auction/" + category + "?sort=" + sort + "==&page=" + page + "&lang=ja";
            //String url = "http://buyee.jp/rakuten/shopping/search/category/" + category + "?sort=" + sort + "&page=" + page + "&query=" + query + "&translationType=" + translationType;
            ProductPagger list = new ProductPagger();

            list.lstPros = new List <ProductInfo>();
            var dom  = CQ.CreateFromUrl(url);
            CQ  divs = dom.Select(".product_field .product_whole");

            foreach (var item in divs.ToList())
            {
                string name     = CQ.Create(item)["p.product_title"].Select(x => x.Cq().Text()).FirstOrDefault().ToString().Trim();
                string itemcode = CQ.Create(item)["a"].Select(x => x.Cq().Attr("href")).FirstOrDefault().ToString().Trim();
                itemcode = itemcode.Substring(itemcode.LastIndexOf('/') + 1);
                string image = CQ.Create(item)["img.product_image"].Select(x => x.Cq().Attr("src")).FirstOrDefault().ToString().Trim();
                string pri   = CQ.Create(item)["p.product_price"].Select(x => x.Cq().Text()).FirstOrDefault().ToString().Trim();
                string auc   = CQ.Create(item)["p.product_remaining"].Select(x => x.Cq().Html()).FirstOrDefault().ToString().Trim();
                auc = auc.Replace("generalicon-clock", "glyphicon glyphicon-ok-circle");
                pri = Regex.Matches(pri, @"[0-9]*[\.,]?[0-9]+")[0].Value;
                ProductInfo pro = new ProductInfo()
                {
                    image    = image,
                    name     = name,
                    cateName = categoryName, CateId = category,
                    price    = Convert.ToDouble(pri),
                    itemCode = WebUtility.HtmlDecode(itemcode).Replace("%3A", "-"),
                    auction  = auc
                };
                list.lstPros.Add(pro);
            }
            //lay tong so trang cua 1 category
            String urlPage = "http://buyee.jp/category/yahoo/auction/" + category + "?sort=" + sort + "==&page=1&lang=ja";

            dom = CQ.CreateFromUrl(urlPage);
            String pageCount = dom.Select("nav.search_page_navi .page_navi a:last").Select(x => x.Cq().Attr("onclick")).FirstOrDefault().ToString().Trim();

            pageCount = pageCount.Substring(pageCount.LastIndexOf('=') + 1, pageCount.IndexOf(";") - pageCount.LastIndexOf('=') - 1);
            string urlPager = "/yahooauction/product/category/" + category + "/" + categoryName + "?page={0}&sort=" + sort;
            Pager  pager    = new Pager(20, 20 * Convert.ToInt32(pageCount), 5, urlPager);

            list.nav = pager.Navigation();
            return(list);
        }
コード例 #2
0
        public static ProductPagger getProductList(int page = 1, int category = 110729, string sort = "cHJpY2UsKw==", string translationType = "", string query = "", string categoryName = "")
        {
            String        url  = "http://buyee.jp/category/yahoo/shopping/" + category + "?lang=ja&page=" + page + "&sort=cmV2aWV3X2NvdW50LCs=";
            ProductPagger list = new ProductPagger();

            list.lstPros = new List <ProductInfo>();
            var dom  = CQ.CreateFromUrl(url);
            CQ  divs = dom.Select(".product_field .product_whole");

            foreach (var item in divs.ToList())
            {
                string name     = CQ.Create(item)["p.product_title > span"].Select(x => x.Cq().Text()).FirstOrDefault().ToString().Trim();
                string itemcode = CQ.Create(item)["a"].Select(x => x.Cq().Attr("href")).FirstOrDefault().ToString().Trim();
                itemcode = itemcode.Substring(0, itemcode.IndexOf("/category"));
                itemcode = itemcode.Substring(itemcode.LastIndexOf('/') + 1);

                string image = CQ.Create(item)["img.product_image"].Select(x => x.Cq().Attr("src")).FirstOrDefault().ToString().Trim();
                string pri   = CQ.Create(item)["p.product_price"].Select(x => x.Cq().Text()).FirstOrDefault().ToString().Trim();
                pri = Regex.Matches(pri, @"[0-9]*[\.,]?[0-9]+")[0].Value;
                ProductInfo pro = new ProductInfo()
                {
                    image    = image,
                    name     = name,
                    cateName = categoryName, CateId = category,
                    price    = Convert.ToDouble(pri),
                    itemCode = WebUtility.HtmlDecode(itemcode).Replace("%3A", "-")
                };
                list.lstPros.Add(pro);
            }
            //lay tong so trang cua 1 category
            String urlPage = "http://buyee.jp/category/yahoo/shopping/" + category + "?lang=ja&page=1&sort=cmV2aWV3X2NvdW50LCs=";

            dom = CQ.CreateFromUrl(urlPage);
            String pageCount = dom.Select("nav.search_page_navi .page_navi a:last").Select(x => x.Cq().Attr("onclick")).FirstOrDefault().ToString().Trim();

            pageCount = pageCount.Substring(pageCount.LastIndexOf('=') + 1, pageCount.IndexOf(";") - pageCount.LastIndexOf('=') - 1);
            string urlPager = "/yahooshopping/product/category/" + category + "/" + categoryName + "?page={0}&sort=" + sort;
            Pager  pager    = new Pager(20, 20 * Convert.ToInt32(pageCount), 5, urlPager);

            list.nav = pager.Navigation();
            return(list);
        }