public override async Task <Book> GetBook(string bookUrl) { string page = await DownloadHelper.DownloadStringAsync(bookUrl); var chaptersLinks = ParseHelper.ParseGroup("<li>\\s*<a href=\"(?<Value>http://[^\"]+)\">\\s*<span class=\"val\">(?<Name>.+)</span>", page, "Name", "Value").Reverse().ToArray(); Book book = new Book(); var chapters = new List <Chapter>(); for (int i = 0; i < chaptersLinks.Length; i++) { var c = chaptersLinks[i]; chapters.Add(new Chapter() { DisplayName = c.Name, Url = c.Value, Book = book, ChapterNumber = i }); } book.Chapters = chapters.ToArray(); book.Url = bookUrl; //Get other book details var imgUrl = ParseHelper.Parse("<div class=\"col-md-4\">\\s*<img src=\"(?<Value>.+)\" alt=", page, "Value").First(); book.CoverImage = await DownloadHelper.DownloadImageAsync(imgUrl); book.Title = ParseHelper.Parse("<h5 class=\"widget-heading\">(?<Value>.+)</h5>", page, "Value").First(); book.Description = ParseHelper.Parse("<div class=\"note note-default margin-top-15\">(?<Value>(.|\\s)*?)</div>", page, "Value").First().Trim(); book.Description = System.Web.HttpUtility.HtmlDecode(book.Description); book.Description = book.Description.Replace("<br/>", "\n"); return(book); }
public override async Task <Book> GetBook(string bookUrl) { string page = await DownloadHelper.DownloadStringAsync(bookUrl); var chaptersLinks = ParseHelper.ParseGroup("<a class=\"color_0077\" href=\"(?<Value>.*?)\".*>(?<Name>\\s*.*\\s*)</a>", page, "Name", "Value").Reverse().ToArray(); Book book = new Book(); var chapters = new List <Chapter>(); for (int i = 0; i < chaptersLinks.Length; i++) { var c = chaptersLinks[i]; chapters.Add(new Chapter() { DisplayName = c.Name, Url = "https:" + c.Value, Book = book, ChapterNumber = i }); } book.Chapters = chapters.ToArray(); book.Url = bookUrl; //Get other book details var imgUrl = ParseHelper.Parse("<div class=\"manga_detail_top clearfix\">\\s+<img src=\"(?<Value>.+)\" onerror=", page, "Value").First(); book.CoverImage = await DownloadHelper.DownloadImageAsync(imgUrl); book.Title = ParseHelper.Parse("<h2>(?<Value>.+) Manga</h2>\\s+Summary:", page, "Value").First(); book.Description = ParseHelper.Parse("<p id=\"show\" style=\"display:none;\">(?<Value>[^\"]+)<a href=\"javascript:void", page, "Value").First(); book.Description = System.Web.HttpUtility.HtmlDecode(book.Description); return(book); }
public override async Task <Book> GetBook(string bookUrl) { string page = await DownloadHelper.DownloadStringAsync(bookUrl); //Get chapters var chaptersLinks = ParseHelper.ParseGroup("<a href=\"(?<Value>[^\"]+)\">(?<Name>[^<]+)</a> :", page, "Name", "Value"); var resolvedChapters = chaptersLinks.Reverse().GroupBy(x => x.Value).Select(g => g.First()).Reverse().ToArray(); Book book = new Book(); var chapters = new List <Chapter>(); for (int i = 0; i < resolvedChapters.Length; i++) { var c = resolvedChapters[i]; chapters.Add(new Chapter() { DisplayName = c.Name, Url = new Uri(new Uri(bookUrl), c.Value).AbsoluteUri, Book = book, ChapterNumber = i }); } book.Chapters = chapters.ToArray(); book.Url = bookUrl; //Get other book details var imgUrl = ParseHelper.Parse("<div id=\"mangaimg\"><img src=\"(?<Value>.+)\" alt=", page, "Value").First(); book.CoverImage = await DownloadHelper.DownloadImageAsync(imgUrl); book.Title = ParseHelper.Parse("<h2 class=\"aname\">(?<Value>.+)</h2>", page, "Value").First(); book.Description = ParseHelper.Parse("<div id=\"readmangasum\">\\s+<h2>.+</h2>\\s+<p>(?<Value>(?s).*?)</p>\\s+</div>", page, "Value").First(); book.Description = System.Web.HttpUtility.HtmlDecode(book.Description); return(book); }
public override async Task <Book> GetBook(string bookUrl) { string page = await DownloadHelper.DownloadStringAsync(bookUrl); var chaptersLinks = ParseHelper.ParseGroup("<a href=\"(?<Value>.*?)\" .*? class=\"tips\">(?<Name>.*?)</a>", page, "Name", "Value").Reverse().ToArray(); Book book = new Book(); var chapters = new List <Chapter>(); for (int i = 0; i < chaptersLinks.Length; i++) { var c = chaptersLinks[i]; chapters.Add(new Chapter() { DisplayName = c.Name, Url = "https:" + c.Value, Book = book, ChapterNumber = i }); } book.Chapters = chapters.ToArray(); book.Url = bookUrl; //Get other book details var imgUrl = ParseHelper.Parse("<div class=\"cover\">\\s+<img .*? src=\"(?<Value>.*?)\"", page, "Value").First(); book.CoverImage = await DownloadHelper.DownloadImageAsync(imgUrl); book.Title = ParseHelper.Parse("<div id=\"title\">\\s+<h1 .*?>\\s*(?<Value>.*?)\\s*</h1>", page, "Value").First(); try { book.Description = ParseHelper.Parse("<p class=\"summary\">(?<Value>(.|\\s)*?)</p>", page, "Value").First(); book.Description = System.Web.HttpUtility.HtmlDecode(book.Description); book.Description = book.Description.Replace("<br />", "\n"); book.Genres = ParseHelper.Parse("<a href=\"//mangafox.me/search/genres/.*?/\">(?<Name>.*?)</a>", page, "Name").ToArray(); } catch (Exception e) { } return(book); }
public override async Task <Page> DownloadPage(Page page) { page.Image = await DownloadHelper.DownloadImageAsync(page.Url); return(page); }