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; } }
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(); }