示例#1
0
        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));
        }
示例#2
0
        //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));
        }
示例#3
0
 //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));
 }