Exemplo n.º 1
0
        private void GetItemUrl(string content)
        {
            string productContent = CommonFun.GetValue(content, "<ul class=\"Productlist\">", "</ul>");

            MatchCollection msItem = CommonFun.GetValues(productContent, "<p class=\"t\">", "</p>");

            foreach (Match m in msItem)
            {
                string url = CommonFun.GetValue(m.Value, "href=\"", "\"");

                if (!AllItemUrl.Contains(url))
                {
                    AllItemUrl.Add(url);
                }
            }
        }
Exemplo n.º 2
0
        public override void ReadAllMenuURL()
        {
            string content = request.HttpGet(url);

            string mainMenuStr = CommonFun.GetValue(content, "nav bb1", "<div class=\"subcat-more\">");

            MatchCollection ms = CommonFun.GetValues(mainMenuStr, "<div class=\"other\">", "</div>");

            foreach (Match m in ms)
            {
                MatchCollection urlMs = CommonFun.GetValues(m.Value, "href=\"", "\"");

                foreach (Match urlM in urlMs)
                {
                    if (!AllMenuUrl.Contains(urlM.Value))
                    {
                        AllMenuUrl.Add(urlM.Value);
                    }
                }
            }

            int startIndex = content.IndexOf("<div class=\"subcat-more\">");

            int endIndex = content.LastIndexOf("<em>&gt;</em></a></div></div>");

            string sumMenuStr = content.Substring(startIndex, endIndex - startIndex);

            MatchCollection ms1 = CommonFun.GetValues(sumMenuStr, "<a href=\"", "\"");

            foreach (Match m in ms1)
            {
                string tempUrl = m.Value;

                if (!AllItemUrl.Contains(tempUrl))
                {
                    if (!tempUrl.Contains("http"))
                    {
                        tempUrl = "http://www.yaofangwang.cn" + tempUrl;
                    }

                    AllMenuUrl.Add(tempUrl);
                }
            }
        }
Exemplo n.º 3
0
        public override void ReadAllItemURL()
        {
            try
            {
                string muenUrl = "http://ad.dabai.7lk.com/medication/search";
                foreach (string menuInfo in AllMenuUrl)
                {
                    int page      = 1;
                    int totalPage = 0;
                    do
                    {
                        string content = request.HttpPost(muenUrl, menuInfo + string.Format("&page={0}", page));

                        MatchCollection ms = CommonFun.GetValues(content, "\"id\":", ",");

                        if (totalPage == 0)
                        {
                            string totalPageStr = CommonFun.GetValue(content, "\"totalPages\":", ",");
                            totalPage = Convert.ToInt32(totalPageStr);
                        }

                        foreach (Match m in ms)
                        {
                            if (!AllItemUrl.Contains(m.Value))
                            {
                                AllItemUrl.Add(m.Value);
                            }
                        }
                    } while (++page <= totalPage);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
Exemplo n.º 4
0
        public override void ReadAllItem()
        {
            int totalCount = AllMenuUrl.Count;
            int curCount   = 0;

            foreach (string menuUrl in AllMenuUrl)
            {
                try
                {
                    if (!menuUrl.Contains(".shtml"))
                    {
                        bool isAspx = menuUrl.Contains(".aspx");

                        string content = request.HttpGet(menuUrl);

                        GetItemUrl(content);

                        int pageCount = GetTotalPage(content, isAspx);

                        for (int i = 2; i <= pageCount; i++)
                        {
                            string pageUrl = "";

                            if (isAspx)
                            {
                                pageUrl = menuUrl + "page=" + i;
                            }
                            else
                            {
                                pageUrl = menuUrl + "&pageIndex=" + i;
                            }

                            content = request.HttpGet(pageUrl);

                            GetItemUrl(content);
                        }
                    }
                    else
                    {
                        if (!AllItemUrl.Contains(menuUrl))
                        {
                            AllItemUrl.Add(menuUrl);
                        }
                    }

                    Console.WriteLine("Menu TotalCount:{0}, CurCount:{1}", totalCount, ++curCount);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("error:{0}, menuUrl:{1}", ex.ToString(), menuUrl);
                }
            }

            int totalItemUrlCount = AllItemUrl.Count;
            int curItmeUrlCount   = 0;

            foreach (string itemUrl in AllItemUrl)
            {
                try
                {
                    ReadOneItem(itemUrl);

                    Console.WriteLine("Item TotalCount:{0}, CurCount:{1}", totalItemUrlCount, ++curItmeUrlCount);
                }
                catch (Exception ex)
                {
                    Console.WriteLine("error:{0}, menuUrl:{1}", ex.ToString(), itemUrl);
                }
            }
        }