Esempio n. 1
0
 public static IEnumerable<MangaData> getNews(Source source)
 {
     var web = new HtmlAgilityPack.HtmlWeb();
     web.AutoDetectEncoding = true;
     var htmlMainDoc = web.Load(@"http://www.mangareader.net/latest");
     var itemsManga = htmlMainDoc.DocumentNode.SelectNodes(@"/html/body/div[@id='container']/div[@id='wrapper_body']/div[@id='latest']/div[@id='latestchapters']/table[@class='updates']/tr[@class='c2']");
     for (int i = itemsManga.Count-1; i >=0; i--)
     {
         var itemManga = itemsManga[i];
         MangaData manga = new MangaData(source,true);
         var mangaNode = itemManga.SelectSingleNode(@"td[2]/a[@class='chapter']");
         var mangaName = mangaNode.InnerText;
         var mangaDetailLink = "http://www.mangareader.net" + mangaNode.GetAttributeValue("href", "");
         manga.DetailMangaSource = source.CreateDetailMangaSource(manga, mangaDetailLink);
         manga.Name = mangaName;
         foreach (var itemChapter in itemManga.SelectNodes(@"td[2]/a[@class='chaptersrec']"))
         {
             ChapterData chapter = new ChapterData();
             ////    ////var matches = Regex.Matches(itemChapter.SelectSingleNode("a").InnerText, @"\d+");
             ////    ////var chapterName = matches[matches.Count - 1].Value;
             var chapterName = itemChapter.InnerText;
             var chapterLink = "http://www.mangareader.net" + itemChapter.GetAttributeValue("href", "");
             chapter.Name = chapterName;
             chapter.ChapterSource = source.CreateChapterSource(chapterLink);
             manga.ChaptersData.Add(chapter);
         }
         yield return manga;
     }
 }
Esempio n. 2
0
 public MangaFomSource(Manga owner,MangaData mangaData)
 {
     Owner = owner;
     _Chapters = new ObservableCollection<ChapterFromSource>();
     Chapters = new ReadOnlyObservableCollection<ChapterFromSource>(_Chapters);
     Name = mangaData.Name;
     Source = mangaData.DetailMangaSource;
     foreach (var chapterData in mangaData.ChaptersData)
     {
         _Chapters.Add(new ChapterFromSource(this,chapterData));
     }
 }
Esempio n. 3
0
        public void MergeData(MangaData mangaData)
        {
            if (mangaData.IsInformationPartial == true)
            {

            }
            else {
                _Chapters.Clear();
                foreach (var chapterData in mangaData.ChaptersData)
                {
                    _Chapters.Add(new ChapterFromSource(this, chapterData));
                }
            }
        }
Esempio n. 4
0
 public static MangaData getDetailManga(Source source, string link)
 {
     var web = new HtmlAgilityPack.HtmlWeb();
     web.AutoDetectEncoding = true;
     var htmlMainDoc = web.Load(link);
     MangaData manga = new MangaData(source, false);
     foreach (HtmlNode itemChapter in htmlMainDoc.DocumentNode.SelectNodes(@"/html/body/section[@id='main']/article[@class='widscreen left']/div[@class='mr316']/div[@class='manga_detail']/div[@class='detail_list']/ul[1]/li/span[@class='left']/a[@class='color_0077']"))
     {
         var pageLink = itemChapter.GetAttributeValue("href", "");
         var pageName = itemChapter.InnerText.Substring(16).Replace("\t", "");
         manga.ChaptersData.Add(new ChapterData { Name = pageName ,ChapterSource= new ChapterSource(source,pageLink)});
     }
     return manga;
 }
Esempio n. 5
0
        public static IEnumerable<MangaData> getMangas(Source source)
        {
            var web = new HtmlAgilityPack.HtmlWeb();
            web.AutoDetectEncoding = true;
            var htmlMainDoc = web.Load(@"http://www.mangahere.com/mangalist/");
            var itemsManga= htmlMainDoc.DocumentNode.SelectNodes(@"/html/body/section[@class='main clearfix']/div[@class='nopic_list clearfix']/div[@class='list_manga'][1]/ul/li/a[@class='manga_info']");
            foreach (var itemManga in itemsManga)
            {

                MangaData manga = new MangaData(source, true);
                var mangaName = itemManga.GetAttributeValue("rel", ""); ;
                var mangaDetailLink = itemManga.GetAttributeValue("href", "");
                manga.DetailMangaSource = source.CreateDetailMangaSource(manga, mangaDetailLink);
                manga.Name = mangaName;
                yield return manga;
            }
        }
Esempio n. 6
0
 public static MangaData getDetailManga(Source source, string link)
 {
     var web = new HtmlAgilityPack.HtmlWeb();
     web.AutoDetectEncoding = true;
     var htmlMainDoc = web.Load(link);
     var q = htmlMainDoc.DocumentNode.SelectNodes(@"/html");
     MangaData m = new MangaData(source, false);
     var itemsChapter = htmlMainDoc.DocumentNode.SelectNodes(@"/html/body/div[@id='container']/div[@id='wrapper_body']/div[@id='chapterlist']/table[@id='listing']/tr/td[1]/a");
     for (int i = itemsChapter.Count - 1; i >= 0; i--)
     {
        var itemChapter = itemsChapter[i];
        var pageLink = "http://www.mangareader.net" + itemChapter.GetAttributeValue("href", "");
        var pageName = itemChapter.InnerText;
        m.ChaptersData.Add(new ChapterData { Name = pageName, ChapterSource = new ChapterSource(source, pageLink) });
        m.IsInformationPartial = false;
     }
     return m;
 }
Esempio n. 7
0
 public void Add(MangaData mangaData)
 {
     MangaFomSource mangaFS = (from s in _MangaFromSources where s.Source.Name == mangaData.Source.Name select s).FirstOrDefault();
     if (mangaFS == null)
     {
         _MangaFromSources.Add(new MangaFomSource(this, mangaData));
     }
     else
     {
         mangaFS.MergeData(mangaData);
     }
 }
Esempio n. 8
0
 public static IEnumerable<MangaData> getNews(Source source)
 {
     var web = new HtmlAgilityPack.HtmlWeb();
     web.AutoDetectEncoding = true;
     var htmlMainDoc = web.Load(@"http://www.mangahere.com/latest/");
     var itemsManga = htmlMainDoc.DocumentNode.SelectNodes(@"/html/body/section[@class='page_main']/div[@class='latest_released']/div[@class='manga_updates']/dl");
     for (int i = itemsManga.Count-1; i >+0; i--)
     {
         var itemManga = itemsManga[i];
         MangaData manga = new MangaData(source, true);
         var mangaNode = itemManga.SelectSingleNode(@"dt");
         var mangaName = mangaNode.SelectSingleNode("a").InnerHtml;
         var mangaDetailLink = mangaNode.SelectSingleNode("a").GetAttributeValue("href", "");
         manga.DetailMangaSource = source.CreateDetailMangaSource(manga, mangaDetailLink);
         manga.Name = mangaName;
         foreach (var itemChapter in itemManga.SelectNodes("dd"))
         {
             ChapterData chapter = new ChapterData();
             //var matches = Regex.Matches(itemChapter.SelectSingleNode("a").InnerText, @"\d+");
             //var chapterName = matches[matches.Count - 1].Value;
             var chapterName = itemChapter.SelectSingleNode("a").InnerText;
             var chapterLink = itemChapter.SelectSingleNode("a").GetAttributeValue("href", "");
             chapter.Name = chapterName;
             chapter.ChapterSource = source.CreateChapterSource(chapterLink);
             manga.ChaptersData.Add(chapter);
         }
         yield return manga;
     }
 }
 public DetailMangaSource(Source source, MangaData manga, string link)
 {
     _Source = source;
     _Manga = manga;
     this._Link = link;
 }
Esempio n. 10
0
 public void Add(String Name, MangaData mangaData)
 {
     Manga manga = (from m in _Mangas where m.Name == Name select m).FirstOrDefault<Manga>();
     if (manga == null)
     {
         manga = new Manga(cmpt,this, Name);
         cmpt++;
         _Mangas.Add(manga);
     }
     manga.Add(mangaData);
 }
Esempio n. 11
0
 public DetailMangaSource CreateDetailMangaSource(MangaData manga,String link)
 {
     return new DetailMangaSource(this,manga, link);
 }