static void ProcessParseArticle(string[] args) { LoadGalleryList(); bool is_minorg = minor_galleries.ContainsValue(args[0]); var url = ""; if (is_minorg) { url = $"https://gall.dcinside.com/mgallery/board/view/?id={args[0]}&no={args[1]}"; } else { url = $"https://gall.dcinside.com/board/view/?id={args[0]}&no={args[1]}"; } var client = NetCommon.GetDefaultClient(); if (PHPSESSID != "") { client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "PHPSESSID=" + PHPSESSID); } var html = client.DownloadString(url); var article = DCParser.ParseBoardView(html, is_minorg); Console.Instance.WriteLine(article); }
static void ProcessTest(string[] args) { switch (args[0]) { case "cmt": var x = DCCommon.GetComments(DCParser.ParseBoardView(Net.NetCommon.DownloadString("https://gall.dcinside.com/board/view/?id=maplestory&no=6712726&exception_mode=recommend&page=1")), "0"); Console.Instance.WriteLine(x); break; case "board": DCParser.ParseBoardView(Net.NetCommon.DownloadString("https://gall.dcinside.com/board/view/?id=maplestory&no=6712726&exception_mode=recommend&page=1")); break; case "gall": var url = "https://gall.dcinside.com/board/lists?id=watch"; var g = DCParser.ParseGallery(Net.NetCommon.DownloadString(url)); break; case "galllist": Console.Instance.WriteLine(DCCommon.GetGalleryList()); break; case "mgalllist": Console.Instance.WriteLine(DCCommon.GetMinorGalleryList()); break; } }
static void ProcessParseComments(string[] args) { LoadGalleryList(); bool is_minorg = minor_galleries.ContainsValue(args[0]); if (ESNO == "") { var url = ""; if (is_minorg) { url = $"https://gall.dcinside.com/mgallery/board/view/?id={args[0]}&no={args[1]}"; } else { url = $"https://gall.dcinside.com/board/view/?id={args[0]}&no={args[1]}"; } var client = NetCommon.GetDefaultClient(); if (PHPSESSID != "") { client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "PHPSESSID=" + PHPSESSID); } var html = client.DownloadString(url); var article = DCParser.ParseBoardView(html, is_minorg); ESNO = article.ESNO; } var comments = DCCommon.GetComments(new DCArticle { OriginalGalleryName = args[0], Id = args[1], ESNO = ESNO }, "1"); Console.Instance.WriteLine(comments); using (var progressBar = new Console.ConsoleProgressBar()) { int tcount = comments.total_cnt; int count = comments.comment_cnt; for (int i = 2; count < tcount; i++) { progressBar.SetProgress(((count) / (float)(tcount)) * 100); comments = DCCommon.GetComments(new DCArticle { OriginalGalleryName = args[0], Id = args[1], ESNO = ESNO }, i.ToString()); if (comments.comment_cnt == 0) { break; } Console.Instance.WriteLine(comments); count += comments.comment_cnt; } } }
public static void ProcessDC(string url) { var article = DCParser.ParseBoardView(NetCommon.DownloadString(url)); string dir = Path.Combine(Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location), "dcinside"), $"[{article.GalleryName}] {DeleteInvalid(article.Title)}"); Directory.CreateDirectory(dir); var se = Koromo_Copy.Interface.SemaphoreExtends.MakeDefault(); se.Referer = url; DownloadSpace.Instance.RequestDownload(article.Title, article.ImagesLink.ToArray(), article.FilesName.Select(x => Path.Combine(dir, DeleteInvalid(x))).ToArray(), se, dir + '\\', null ); MainWindow.Instance.FadeOut_MiddlePopup($"{article.ImagesLink.Count}개 항목 다운로드 시작..."); }
private void tracker(string gall_code, string contents, bool isminor) { append($"Thread starts! {gall_code} {contents}" + (isminor ? " mg" : " g")); for (int i = 1; i < 10; i++) { var url = "https://gall.dcinside.com/board/lists?id=" + gall_code + $"&page={i}"; //append("download url " + url + "..."); var html = NetCommon.DownloadString(url); var g = DCParser.ParseGallery(html); //append($"mp={g.max_page},esno={g.esno},krn={g.name},cnt={g.articles.Length} loaded!"); foreach (var a in g.articles) { if (a.nick.ToLower().Contains(contents) || a.title.ToLower().Contains(contents)) { append($"article found! title={a.title},no={a.no},nick={a.nick}"); } if (a.replay_num != "") { for (int j = 1; j < 100; j++) { //append("download comment " + a.title + " " + a.no + " " + j); var c = DCCommon.GetComments(g, a, j.ToString()); if (c.comments == null || c.comments.Length == 0) { break; } foreach (var b in c.comments) { if (b.name.ToLower().Contains(contents) || b.memo.ToLower().Contains(contents)) { append($"coment found! title={a.title},no={a.no},name={b.name},memo={b.memo}"); } } } } } } }
static void ProcessTest(string[] args) { switch (args[0]) { case "version": Version.ExportVersion(); break; case "manage": var t = new Thread(() => { Application.Run(new Manage()); }); t.Start(); break; case "preempt_dq": DownloadConsole.Instance.queue.Preempt(); break; case "unpreempt_dq": DownloadConsole.Instance.queue.Reactivation(); break; case "hiyobi": var html = Net.NetCommon.DownloadString("https://hiyobi.me/info/1305694"); var article = Component.Hiyobi.HiyobiParser.ParseGalleryConents(html); break; case "hiyobi2": var html1 = Net.NetCommon.DownloadString("https://hiyobi.me/list/1"); var article1 = Component.Hiyobi.HiyobiParser.ParseGalleryArticles(html1); break; case "query": HitomiDataSearchAdvanced.to_linear(HitomiDataSearchAdvanced.make_tree("(a b) - (c d) - (e f)")); break; case "version_check": Version.UpdateRequired(); break; case "dc": var html2 = Net.NetCommon.DownloadString("http://gall.dcinside.com/board/view/?id=comic_new1&no=7118416&page=1"); DCParser.ParseBoardView(html2); break; case "non-h": var html3 = Net.NetCommon.DownloadString("https://hiyobi.me/manga/info/1848"); HiyobiParser.ParseNonHArticles(html3); break; case "msm": var html4 = Net.NetCommon.DownloadString("http://mangashow.me/detail.php?manga_id=4969"); MangashowmeParser.ParseSeries(html4); var html5 = Net.NetCommon.DownloadString("http://mangashow.me/viewer.php?chapter_id=79688"); MangashowmeParser.ParseImages(html5); break; case "tree": var html6 = Net.NetCommon.DownloadString("https://www.google.com/search?q=anime&newwindow=1&rlz=1C1GIGM_enKR776KR776&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS-J2cxejfAhWT-mEKHSpkCqsQ_AUIDigB&biw=1573&bih=814"); var tree = new HtmlTree(html6); tree.BuildTree(); Console.Instance.Write(Monitor.SerializeObject(tree.GetLevelImages(11))); break; case "ls": HtmlLocalServer.Instance.Start(); break; case "lpkor": var x = "진화론의 시야에서 벗어난 생물학은 아무 의미가 없다."; var xl = string.Join("", x.Select(y => LPKor.IsHangul(y) ? LPKor.Disassembly(y) : y.ToString())); Console.Instance.WriteLine(xl); var xr = LPKor.Assembly(xl); Console.Instance.WriteLine(xr); xl = string.Join("", x.Select(y => LPKor.IsHangul3(y) ? LPKor.Disassembly3(y) : y.ToString())); Console.Instance.WriteLine(xl); xr = LPKor.Assembly3(xl); Console.Instance.WriteLine(xr); break; case "heap": var rl = new List <int>(); var r = new Random(); for (int i = 0; i < 20; i++) { rl.Add(r.Next() % 100); } var h = new Heap <int>(); foreach (var xx in rl) { h.Push(xx); } rl.Sort(); rl.Reverse(); for (int i = 0; i < 20; i++) { Console.Instance.WriteLine($"{rl[i]}, {h.Front}"); h.Pop(); } var hh = new UpdatableHeap <int>(); break; case "ydl": ydlWrapper.download(); ydlWrapper.test(); break; case "stack": StackTrace st = new StackTrace(); Console.Instance.WriteLine(st.ToString()); break; } }
static void ProcessCollectArticles(string[] args, bool rem) { var rstarts = Convert.ToInt32(args[1]); var starts = Convert.ToInt32(args[1]); var ends = Convert.ToInt32(args[2]); LoadGalleryList(); bool is_minorg = minor_galleries.ContainsValue(args[0]); var result = new DCGalleryModel(); var articles = new List <DCPageArticle>(); using (var progressBar = new Console.ConsoleProgressBar()) { for (; starts <= ends; starts++) { X: try { var url = ""; if (is_minorg) { url = $"https://gall.dcinside.com/mgallery/board/lists/?id={args[0]}&page={starts}"; } else { url = $"https://gall.dcinside.com/board/lists/?id={args[0]}&page={starts}"; } if (rem) { url += "&exception_mode=recommend"; } Console.Instance.WriteLine($"Download URL: {url}"); var client = NetCommon.GetDefaultClient(); if (PHPSESSID != "") { client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "PHPSESSID=" + PHPSESSID); } var html = client.DownloadString(url); DCGallery gall = null; if (is_minorg) { gall = DCParser.ParseMinorGallery(html); } else { gall = DCParser.ParseGallery(html); } articles.AddRange(gall.articles); } catch { goto X; } progressBar.SetProgress((((ends - rstarts + 1) - (ends - starts)) / (float)(ends - rstarts + 1)) * 100); } result.is_minor_gallery = is_minorg; result.gallery_id = args[0]; result.articles = articles.ToArray(); File.WriteAllText($"list-{args[0]}-{DateTime.Now.Ticks}.txt", JsonConvert.SerializeObject(result)); } }
static void ProcessFullParse(string[] args, bool rem, string[] title, string[] nick, string[] ip, string[] id, bool login, bool fix) { using (var progressBar = new Console.ConsoleProgressBar()) { Console.Instance.WriteLine("Parse gallery..."); var rstarts = Convert.ToInt32(args[1]); var starts = Convert.ToInt32(args[1]); var ends = Convert.ToInt32(args[2]); LoadGalleryList(); bool is_minorg = minor_galleries.ContainsValue(args[0]); var articles = new List <DCPageArticle>(); // // Parse Gallery // for (; starts <= ends; starts++) { var url = ""; if (is_minorg) { url = $"https://gall.dcinside.com/mgallery/board/lists/?id={args[0]}&page={starts}"; } else { url = $"https://gall.dcinside.com/board/lists/?id={args[0]}&page={starts}"; } if (rem) { url += "&exception_mode=recommend"; } var client = NetCommon.GetDefaultClient(); if (PHPSESSID != "") { client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "PHPSESSID=" + PHPSESSID); } var html = client.DownloadString(url); DCGallery gall = null; if (is_minorg) { gall = DCParser.ParseMinorGallery(html); } else { gall = DCParser.ParseGallery(html); } foreach (var article in gall.articles) { if (title != null && !article.title.Contains(title[0])) { continue; } if (nick != null && !article.nick.Contains(nick[0])) { continue; } if (ip != null && !article.ip.Contains(ip[0])) { continue; } if (id != null && !article.uid.Contains(id[0])) { continue; } if (login && !article.islogined) { continue; } if (fix && !article.isfixed) { continue; } //Console.Instance.Write(Monitor.SerializeObject(article)); //Console.Instance.WriteLine(","); articles.Add(article); } progressBar.SetProgress((((ends - rstarts + 1) - (ends - starts)) / (float)(ends - rstarts + 1)) * 100); Thread.Sleep(3000); } Console.Instance.WriteLine("Parse articles..."); int acnt = 0; var _articles = new List <DCArticle>(); // // Parse Articles // foreach (var article in articles) { var url = ""; if (is_minorg) { url = $"https://gall.dcinside.com/mgallery/board/view/?id={args[0]}&no={article.no}"; } else { url = $"https://gall.dcinside.com/board/view/?id={args[0]}&no={article.no}"; } var client = NetCommon.GetDefaultClient(); if (PHPSESSID != "") { client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "PHPSESSID=" + PHPSESSID); } var html = client.DownloadString(url); var _article = DCParser.ParseBoardView(html, is_minorg); _articles.Add(_article); acnt++; progressBar.SetProgress(((acnt) / (float)(articles.Count)) * 100); Thread.Sleep(3000); } var info = new List <Tuple <DCArticle, List <DCComment> > >(); if (ESNO == "") { ESNO = _articles[0].ESNO; } int ccnt = 0; // // Parse Comments // foreach (var article in _articles) { var cc = new List <DCComment>(); var comments = DCCommon.GetComments(new DCArticle { OriginalGalleryName = article.OriginalGalleryName, Id = article.Id, ESNO = article.ESNO }, "1"); Thread.Sleep(2000); cc.Add(comments); int tcount = comments.total_cnt; int count = 100; for (int i = 2; count < tcount; count += 100) { comments = DCCommon.GetComments(new DCArticle { OriginalGalleryName = args[0], Id = args[1], ESNO = ESNO }, i.ToString()); if (comments.comment_cnt == 0) { break; } count += comments.comment_cnt; cc.Add(comments); Thread.Sleep(2000); } info.Add(new Tuple <DCArticle, List <DCComment> >(article, cc)); ccnt++; progressBar.SetProgress(((ccnt) / (float)(_articles.Count)) * 100); } var result = new Tuple <List <DCPageArticle>, List <Tuple <DCArticle, List <DCComment> > > >(articles, info); File.WriteAllText($"dc-{args[0]}-{args[1]}-{args[2]}-{DateTime.Now.Ticks}.txt", Monitor.SerializeObject(result)); } }
static void ProcessParseGallery(string[] args, bool rem, string[] title, string[] nick, string[] ip, string[] id, bool login, bool fix) { var starts = Convert.ToInt32(args[1]); var ends = Convert.ToInt32(args[2]); LoadGalleryList(); bool is_minorg = minor_galleries.ContainsValue(args[0]); for (; starts <= ends; starts++) { var url = ""; if (is_minorg) { url = $"https://gall.dcinside.com/mgallery/board/lists/?id={args[0]}&page={starts}"; } else { url = $"https://gall.dcinside.com/board/lists/?id={args[0]}&page={starts}"; } if (rem) { url += "&exception_mode=recommend"; } var client = NetCommon.GetDefaultClient(); if (PHPSESSID != "") { client.Headers.Add(System.Net.HttpRequestHeader.Cookie, "PHPSESSID=" + PHPSESSID); } var html = client.DownloadString(url); DCGallery gall = null; if (is_minorg) { gall = DCParser.ParseMinorGallery(html); } else { gall = DCParser.ParseGallery(html); } foreach (var article in gall.articles) { if (title != null && !article.title.Contains(title[0])) { continue; } if (nick != null && !article.nick.Contains(nick[0])) { continue; } if (ip != null && !article.ip.Contains(ip[0])) { continue; } if (id != null && !article.uid.Contains(id[0])) { continue; } if (login && !article.islogined) { continue; } if (fix && !article.isfixed) { continue; } Console.Instance.Write(Monitor.SerializeObject(article)); Console.Instance.WriteLine(","); } } }
static void ProcessTest(string[] args) { switch (args[0]) { case "version": Version.ExportVersion(); break; case "manage": var t = new Thread(() => { Application.Run(new Manage()); }); t.Start(); break; case "preempt_dq": DownloadConsole.Instance.queue.Preempt(); break; case "unpreempt_dq": DownloadConsole.Instance.queue.Reactivation(); break; case "hiyobi": var html = Net.NetCommon.DownloadString("https://hiyobi.me/info/1305694"); var article = Component.Hiyobi.HiyobiParser.ParseGalleryConents(html); break; case "hiyobi2": var html1 = Net.NetCommon.DownloadString("https://hiyobi.me/list/1"); var article1 = Component.Hiyobi.HiyobiParser.ParseGalleryArticles(html1); break; case "query": HitomiDataSearchAdvanced.to_linear(HitomiDataSearchAdvanced.make_tree("(a b) - (c d) - (e f)")); break; case "version_check": Version.UpdateRequired(); break; case "dc": var html2 = Net.NetCommon.DownloadString("http://gall.dcinside.com/board/view/?id=comic_new1&no=7118416&page=1"); DCParser.ParseBoardView(html2); break; case "non-h": var html3 = Net.NetCommon.DownloadString("https://hiyobi.me/manga/info/1848"); HiyobiParser.ParseNonHArticles(html3); break; case "msm": var html4 = Net.NetCommon.DownloadString("http://mangashow.me/detail.php?manga_id=4969"); MangashowmeParser.ParseSeries(html4); var html5 = Net.NetCommon.DownloadString("http://mangashow.me/viewer.php?chapter_id=79688"); MangashowmeParser.ParseImages(html5); break; case "tree": var html6 = Net.NetCommon.DownloadString("https://www.google.com/search?q=anime&newwindow=1&rlz=1C1GIGM_enKR776KR776&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjS-J2cxejfAhWT-mEKHSpkCqsQ_AUIDigB&biw=1573&bih=814"); var tree = new HtmlTree(html6); tree.BuildTree(); Console.Instance.Write(Monitor.SerializeObject(tree.GetLevelImages(11))); break; case "ls": HtmlLocalServer.Instance.Start(); break; } }