public override List <TagItem> GetTags(string word, IWebProxy proxy) { List <TagItem> re = new List <TagItem>(); try { string url = string.Format(booru.tagUrl, word); shc.Accept = SessionHeadersValue.AcceptAppJson; url = Sweb.Get(url, proxy, shc); JArray jobj = (JArray)JsonConvert.DeserializeObject(url); string tmpname; foreach (JObject jo in jobj) { tmpname = jo["value"].ToString(); if (srcType == Rule34srcType.Filter && !filterTag.Contains(tmpname) || srcType == Rule34srcType.Full) { re.Add(new TagItem() { Name = tmpname, Count = new Regex(@".*\(([^)]*)\)").Match(jo["label"].ToString()).Groups[1].Value }); } } } catch { } return(re.Count > 0 ? re : booru.GetTags(word, proxy)); }
//tags https://gelbooru.com/index.php?page=autocomplete&term=don /// <summary> /// JSON and API /// </summary> public override List <TagItem> GetTags(string word, IWebProxy proxy) { List <TagItem> re = new List <TagItem>(); try { string url = $"{SiteUrl}/index.php?page=autocomplete&term={word}"; shc.Accept = SessionHeadersValue.AcceptAppJson; url = Sweb.Get(url, proxy, shc); object[] jsonobj = (new JavaScriptSerializer()).DeserializeObject(url) as object[]; foreach (object o in jsonobj) { re.Add(new TagItem() { Name = o.ToString() }); } } catch { } return(re.Count > 0 ? re : booru.GetTags(word, proxy)); }
//tags https://gelbooru.com/index.php?page=tags&s=list&tags=kanto* /// <summary> /// API only /// </summary> public override List <TagItem> GetTags(string word, IWebProxy proxy) { return(booru.GetTags(word, proxy)); }