예제 #1
0
        private void Caiji(int groupId, int maxId)
        {
            string htmlContent = YM(string.Format(caijiUrl, groupId, maxId));

            var startIndex = htmlContent.IndexOf("app.page[\"board\"] = ");

            var endIndex = htmlContent.IndexOf("app._csr = true");

            var jsonStr = htmlContent.Substring(startIndex, endIndex - startIndex).Replace("app.page[\"board\"] = ", "").Trim().Trim(';');


            PicturesInfo pinfo = Newtonsoft.Json.JsonConvert.DeserializeObject <PicturesInfo>(jsonStr);


            if (pinfo != null && pinfo.Pins.Length > 0)
            {
                foreach (var item in pinfo.Pins)
                {
                    string imgUrl = "http://" + item.File.Bucket + ".b0.upaiyun.com/" + item.File.Key;

                    imgList.Add(imgUrl);
                }

                Caiji(groupId, pinfo.Pins[pinfo.Pins.Length - 1].PinId.Value);
            }
            else
            {
                isEnd = true;
            }
        }
예제 #2
0
        public void Start()
        {
            isEnd   = false;
            imgList = new List <string>();
            baseUrl = string.Format(baseUrl, groupId);


            string htmlContent = YM(baseUrl);

            var startIndex = htmlContent.IndexOf("app.page[\"board\"] = ");

            var endIndex = htmlContent.IndexOf("app._csr = true");

            var jsonStr = htmlContent.Substring(startIndex, endIndex - startIndex).Replace("app.page[\"board\"] = ", "").Trim().Trim(';');


            PicturesInfo pinfo = Newtonsoft.Json.JsonConvert.DeserializeObject <PicturesInfo>(jsonStr);

            if (pinfo != null && pinfo.Pins.Length > 0)
            {
                GroupTitle = pinfo.Title;
                int maxId = pinfo.Pins[0].PinId.Value;
                Caiji(groupId, maxId + 1);
            }



            DownloadImgs();
        }