Exemple #1
0
        /// <summary>
        /// 根据type获取关注的画师,只能由mainThread执行
        /// </summary>
        /// <param name="reqParame"></param>
        /// <param name="type"></param>
        private void GetAllFollowByType(RequestParameEntity reqParame, string type)
        {
            getType = type;

            string paListUrl = string.Format("https://www.pixiv.net/bookmark.php?type=user&rest={0}&p=1", type);

            EachListPage(paListUrl, DownContentType.AllFollow, new Action <string>(id =>
            {
                if (!mut.IsContinue)
                {
                    return;
                }

                //因为是引用类型,所以要复制
                var parame = (RequestParameEntity)reqParame.Clone();

                //因为这里是遍历集合,所以不能只用SavePath
                parame.SavePath = parame.ParentPath + "/" + id;
                parame.SavePath = parame.SavePath.Replace("\\", "/").Replace("//", "/");
                var listUrl     = GetListUrlByID(id, parame.SavePath);
                if (listUrl != "")
                {
                    //列表Url从关注列表Url变为某个画师的作品列表Url
                    parame.ListUrl = listUrl;

                    if (isSingle)
                    {
                        GetSingle(parame);
                    }
                    else
                    {
                        while (!mut.DoGetAction(parame, GetSingle) && mut.IsContinue)
                        {
                            Thread.Sleep(1000);
                        }
                    }
                }
            }));
        }