예제 #1
0
파일: Mangakakalot.cs 프로젝트: Youru/Tools
        public override async Task <List <Link> > GetAllLinks(int fromChapterNumber = 0)
        {
            List <Link> links = new();

            var chapterSummaryUrl = _replace.Content(SiteSelector.Url, "to/ajax/manga/list-chapter-volume?id=", "to\\/(.+)-");
            var chapterUrls       = await _scrappingTechnical.GetUrls(chapterSummaryUrl, SiteSelector.PageSelector);

            foreach (var chapterUrl in chapterUrls)
            {
                var dataset = await _scrappingTechnical.GetDataset(chapterUrl, "#reading");

                var readingId       = dataset.GetValueOrDefault("reading-id");
                var chapterImageUrl = $"https://{SiteSelector.BaseUrl.Host}/ajax/manga/images?id={readingId}&type=chap";
                var images          = await _scrappingTechnical.GetDatasetsByIndex(chapterImageUrl, SiteSelector.LinkSelector);

                foreach (var image in images)
                {
                    var chapter = Regex.Match(chapterUrl, "(chapter-\\d+)$").Value;
                    links.Add(new Link(image.Value, image.Key.ToString(), chapter));
                }
            }

            return(links);
        }