示例#1
0
        public static ReturnModel UpdateCookie(CookieContainer cc, string url)
        {
            if (cc == null)
            {
                cc = new CookieContainer();
            }

            var need = HtmlManager.NeedToUpdateCookie(url, "utf-8", true, cc);

            while (need.Need)
            {
                cc   = InitHelper.InitManager.GetCookie();
                need = HtmlManager.NeedToUpdateCookie(url, "utf-8", true, cc);
            }

            ReturnModel ret = new ReturnModel
            {
                Content = new Model.JavModels.HtmlResponse(),

                CC = cc
            };

            ret.Content.Content = need.Content.Content;
            ret.Content.Success = need.Content.Success;

            return(ret);
        }
示例#2
0
        private void FetchInfo(string url)
        {
            CookieContainer cc         = new CookieContainer();
            var             cookieData = new ChromeCookieReader().ReadCookies("javlibrary");

            foreach (var item in cookieData.Where(x => !x.Value.Contains(",")).Distinct())
            {
                Cookie c = new Cookie(item.Name, item.Value, "/", "www.javlibrary.com");

                cc.Add(c);
            }

            cc.Add(new Cookie("over18", "18", "/", "www.javlibrary.com"));

            var ret = HtmlManager.NeedToUpdateCookie(url, "utf-8", true, cc);
            var res = ret.Content;

            if (res.Success)
            {
                av = new AV();

                var m = Regex.Matches(res.Content, detailIDPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var data = item.Groups[1].Value;
                    av.ID = data;
                }

                m = Regex.Matches(res.Content, detailTitlePattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var data = item.Groups[2].Value.Replace(av.ID + " ", "");
                    av.Name = FileUtility.ReplaceInvalidChar(data);
                }

                m = Regex.Matches(res.Content, detailImgPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var data = item.Groups[1].Value.StartsWith("http") ? item.Groups[1].Value : "http:" + item.Groups[1].Value;
                    av.PictureURL = data;
                }

                m = Regex.Matches(res.Content, detailDatePattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var data = item.Groups[1].Value;
                    av.ReleaseDate = DateTime.Parse(data);
                }

                m = Regex.Matches(res.Content, detailLengthPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var data = item.Groups[1].Value;
                    av.AvLength = int.Parse(data);
                }

                m = Regex.Matches(res.Content, detailDirectorPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var u    = item.Groups[1].Value;
                    var data = item.Groups[2].Value;
                    av.Director += data + ",";
                }

                m = Regex.Matches(res.Content, detailCompanyPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var u    = item.Groups[1].Value;
                    var data = item.Groups[2].Value;
                    av.Company += data + ",";
                }

                m = Regex.Matches(res.Content, detailPublisherPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var u    = item.Groups[1].Value;
                    var data = item.Groups[2].Value;
                    av.Publisher += data + ",";
                }

                m = Regex.Matches(res.Content, detailCategoryPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var data = item.Groups[2].Value;
                    av.Category += data + ",";
                }

                m = Regex.Matches(res.Content, detailActressPattern, RegexOptions.Multiline | RegexOptions.IgnoreCase);
                foreach (Match item in m)
                {
                    var u    = item.Groups[1].Value;
                    var data = item.Groups[2].Value;
                    av.Actress += data + ",";
                }

                av.URL = url;
            }
        }