Compare commits

..

No commits in common. "7219641859ac90f4549e3263b742191b4dcaa40e" and "2302e1009bd33ef1da46738b12fc329d49d303eb" have entirely different histories.

3 changed files with 11 additions and 13 deletions

View File

@ -62,7 +62,7 @@ internal class ChromiumDownloadClient : DownloadClient
{ {
IPage page = this.browser.NewPageAsync().Result; IPage page = this.browser.NewPageAsync().Result;
page.DefaultTimeout = 10000; page.DefaultTimeout = 10000;
IResponse response = page.GoToAsync(url, WaitUntilNavigation.Networkidle0).Result; IResponse response = page.GoToAsync(url, WaitUntilNavigation.DOMContentLoaded).Result;
Log("Page loaded."); Log("Page loaded.");
Stream stream = Stream.Null; Stream stream = Stream.Null;

View File

@ -36,8 +36,6 @@ public class MangaConnectorJsonConverter : JsonConverter
return this._connectors.First(c => c is Mangaworld); return this._connectors.First(c => c is Mangaworld);
case "Bato": case "Bato":
return this._connectors.First(c => c is Bato); return this._connectors.First(c => c is Bato);
case "Manga4Life":
return this._connectors.First(c => c is MangaLife);
} }
throw new Exception(); throw new Exception();

View File

@ -58,7 +58,7 @@ public class MangaLife : MangaConnector
foreach (HtmlNode resultNode in resultsNode.SelectNodes("div")) foreach (HtmlNode resultNode in resultsNode.SelectNodes("div"))
{ {
string url = resultNode.Descendants().First(d => d.HasClass("SeriesName")).GetAttributeValue("href", ""); string url = resultNode.Descendants().First(d => d.HasClass("SeriesName")).GetAttributeValue("href", "");
Manga? manga = GetMangaFromUrl($"https://manga4life.com{url}"); Manga? manga = GetMangaFromUrl($"https://mangasee123.com{url}");
if (manga is not null) if (manga is not null)
ret.Add((Manga)manga); ret.Add((Manga)manga);
} }
@ -120,23 +120,23 @@ public class MangaLife : MangaConnector
public override Chapter[] GetChapters(Manga manga, string language="en") public override Chapter[] GetChapters(Manga manga, string language="en")
{ {
Log($"Getting chapters {manga}"); Log($"Getting chapters {manga}");
DownloadClient.RequestResult result = downloadClient.MakeRequest($"https://manga4life.com/manga/{manga.publicationId}", 1); DownloadClient.RequestResult result = downloadClient.MakeRequest($"https://manga4life.com/rss/{manga.publicationId}.xml", 1);
if ((int)result.statusCode < 200 || (int)result.statusCode >= 300 || result.htmlDocument is null) if ((int)result.statusCode < 200 || (int)result.statusCode >= 300)
{ {
Log("Failed to load chapterinfo");
return Array.Empty<Chapter>(); return Array.Empty<Chapter>();
} }
HtmlNodeCollection chapterNodes = result.htmlDocument.DocumentNode.SelectNodes( StreamReader sr = new (result.result);
"//a[contains(concat(' ',normalize-space(@class),' '),' ChapterLink ')]"); string unformattedString = sr.ReadToEnd();
string[] urls = chapterNodes.Select(node => node.GetAttributeValue("href", "")).ToArray(); Regex urlRex = new(@"(https:\/\/manga4life.com/read-online/[A-z0-9\-]+\.html)");
string[] urls = urlRex.Matches(unformattedString).Select(match => match.Groups[1].Value).ToArray();
List<Chapter> chapters = new(); List<Chapter> chapters = new();
foreach (string url in urls) foreach (string url in urls)
{ {
string volumeNumber = "1"; string volumeNumber = "1";
string chapterNumber = Regex.Match(url, @"-chapter-([0-9\.]+)").Groups[1].ToString(); string chapterNumber = Regex.Match(url, @"-chapter-([0-9\.]+)").Groups[1].ToString();
string fullUrl = $"https://manga4life.com{url}"; string fullUrl = url.Replace(Regex.Match(url,"(-page-[0-9])").Value,"");
fullUrl = fullUrl.Replace(Regex.Match(url,"(-page-[0-9])").Value,"");
chapters.Add(new Chapter(manga, "", volumeNumber, chapterNumber, fullUrl)); chapters.Add(new Chapter(manga, "", volumeNumber, chapterNumber, fullUrl));
} }
//Return Chapters ordered by Chapter-Number //Return Chapters ordered by Chapter-Number