public async Task Parser(string[] ids) { start(ids.Length); for (int i = 0; i < ids.Length; i++) { this.text = ids[i]; Hitomi h = await Parser(); update(h, i, ids.Length); } end(); }
public async Task Parser(int[] ids) { start(ids.Length); InternetP parser = new InternetP(); for (int i = 0; i < ids.Length; i++) { parser.index = ids[i]; Hitomi h = await parser.HitomiData2(); update(h, i, ids.Count()); } end(); }
public async void FastParser(int[] ids) { start(ids.Length); for (int i = 0; i < ids.Length; i++) { InternetP parser = new InternetP(); parser.index = ids[i]; Hitomi h = await parser.HitomiData(); h.type = Hitomi.Type.Hitomi; h.id = ids[i].ToString(); update(h, i, ids.Count()); } end(); }
public async Task <Hitomi> Parser() { InternetP parser; parser = new InternetP(url: $"https://api.hiyobi.me/gallery/{text}"); JObject obj = await parser.LoadJObject(); parser = new InternetP(url: $"https://cdn.hiyobi.me/data/json/{text}_list.json"); JArray imgs = await parser.TryLoadJArray(); if (imgs == null) { return(null); } Hitomi h = new Hitomi { id = obj.StringValue("id"), name = obj.StringValue("title"), type = type, page = imgs.Count, dir = $"https://hiyobi.me/reader/{text}", thumb = ImageProcessor.LoadWebImage($"https://cdn.hiyobi.me/tn/{text}.jpg"), thumbpath = $"https://cdn.hiyobi.me/tn/{text}.jpg", files = imgs.ToList().Select(x => $"https://cdn.hiyobi.me/data/{text}/{x["name"]}").ToArray(), author = string.Join(", ", obj["artists"].Select(x => x["display"].ToString())), authors = obj["artists"].Select(x => x["display"].ToString()).ToArray(), Json = obj, designType = new InternetP().DesignTypeFromInt(obj.IntValue("type") ?? 0), language = obj.StringValue("language") }; foreach (JToken tags in obj["tags"]) { Tag tag = new Tag(); if (tags["value"].ToString().Contains(":")) { tag.types = (Tag.Types)Enum.Parse(typeof(Tag.Types), tags["value"].ToString().Split(':')[0]); } else { tag.types = Tag.Types.tag; } tag.name = tags["display"].ToString(); h.tags.Add(tag); } return(h); }
public async void Parser(JObject jobject) { start(jobject["list"].Count()); foreach (JToken tk in jobject["list"]) { InternetP parser = new InternetP(url: $"https://cdn.hiyobi.me/data/json/{tk["id"]}_list.json"); JArray imgs = await parser.TryLoadJArray(); if (imgs == null) { continue; } Hitomi h = new Hitomi { id = tk["id"].ToString(), name = tk["title"].ToString(), type = type, page = imgs.Count, dir = $"https://hiyobi.me/reader/{tk["id"]}", thumb = ImageProcessor.LoadWebImage($"https://cdn.hiyobi.me/tn/{tk["id"]}.jpg"), thumbpath = $"https://cdn.hiyobi.me/tn/{tk["id"]}.jpg", files = imgs.ToList().Select(x => $"https://cdn.hiyobi.me/data/{tk["id"]}/{x["name"]}").ToArray(), author = string.Join(", ", tk["artists"].Select(x => x["display"].ToString())), authors = tk["artists"].Select(x => x["display"].ToString()).ToArray(), Json = tk//tk.ToString() }; foreach (JToken tags in tk["tags"]) { Tag tag = new Tag(); if (tags["value"].ToString().Contains(":")) { tag.types = (Tag.Types)Enum.Parse(typeof(Tag.Types), tags["value"].ToString().Split(':')[0]); } else { tag.types = Tag.Types.tag; } tag.name = tags["display"].ToString(); h.tags.Add(tag); } update(h, jobject["list"].ToList().IndexOf(tk), jobject["list"].Count()); } end(); }
public async void Parser() { InternetP parser = new InternetP(); parser.index = (index - 1) * count; parser.count = count; parser.url = "https://ltn.hitomi.la/index-all.nozomi"; int[] ids = parser.ByteArrayToIntArray(await parser.LoadNozomi()); start(ids.Count()); foreach (int id in ids) { parser.index = id; Hitomi h = await parser.HitomiData2(); update(h, ids.ToList().IndexOf(id), ids.Count()); } end(); }