예제 #1
0
        public static void ScanJavLibraryUpdateUrls(JavLibraryEntryPointType entry, int pages, string url, bool useExactPassin)
        {
            DateTime startTime = DateTime.Now;

            NoticeService.SendBarkNotice(SettingService.GetSetting().Result.BarkId, $"开始处理最新更新Urls {pages} 页");

            Progress <string> progress = new();

            progress.ProgressChanged += LogInfo;

            var scans = JavLibraryService.GetJavLibraryWebScanUrlMode(entry, pages, url, useExactPassin, JavLibrarySearchOrder.Asc, progress).Result;

            var ret = JavLibraryService.DownloadJavLibraryDetailAndSavePictureFromWebScanUrl(scans, progress).Result;

            NoticeService.SendBarkNotice(SettingService.GetSetting().Result.BarkId, $"开始处理最新更新Urls完成 {pages} 页,共下载{ret}, 耗时 {(DateTime.Now - startTime).TotalSeconds} 秒");
        }
예제 #2
0
        public string ScanJavLibraryUpdateUrls(JavLibraryEntryPointType entry, int pages, string url, bool useExactPassin)
        {
            BackgroundJob.Enqueue(() => Jobs.ScanJavLibraryUpdateUrls(entry, pages, url, useExactPassin));

            return("success");
        }
예제 #3
0
        //获取JavLibrary的列表页信息
        public async static Task <(int pageCount, List <WebScanUrlModel> successList, string fail)> GetJavLibraryListPageInfo(JavLibraryEntryPointType type, string url, int page, bool useExactUrlPassin = false)
        {
            (int, List <WebScanUrlModel>, string)ret = new();
            List <WebScanUrlModel> list = new();
            string fail     = "";
            int    lastPage = -1;

            var realUrl = "";

            if (useExactUrlPassin)
            {
                realUrl = url;
            }
            else
            {
                realUrl = GetJavLibraryEntryUrl(type, url, page);
            }

            var content = await GetJavLibraryContent(realUrl);

            if (content.exception == null && !string.IsNullOrEmpty(content.content))
            {
                HtmlDocument detailHtmlDocument = new();
                detailHtmlDocument.LoadHtml(content.content);

                var lastPagePath = "//a[@class='page last']";
                var videoPath    = "//div[@class='video']";

                var videoNodes   = detailHtmlDocument.DocumentNode.SelectNodes(videoPath);
                var lastPageNode = detailHtmlDocument.DocumentNode.SelectSingleNode(lastPagePath);

                if (lastPageNode != null)
                {
                    var pageStr = lastPageNode.Attributes["href"].Value.Trim();

                    if (!string.IsNullOrEmpty(pageStr))
                    {
                        pageStr = pageStr[(pageStr.LastIndexOf("=") + 1)..];