public override string GetPageString(int page, int count, string keyWord, IWebProxy proxy) { string pageString = string.Empty; // API // JSON if (apiMode == APImode.NULL || apiMode == APImode.JSON) { booru.Url = $"{SiteUrl}/index.php?page=dapi&s=post&q=index&pid={{0}}&limit={{1}}&json=1&tags={{2}}"; pageString = booru.GetPageString(page, count, keyWord, proxy); if (pageString.Length < 24) { return(pageString); } if (GetAPImode(pageString) == APImode.JSON) { apiMode = APImode.JSON; return(pageString); } } // XML if (apiMode == APImode.NULL || apiMode == APImode.XML) { booru = new SiteBooru( SiteUrl, string.Empty, $"{SiteUrl}/index.php?page=dapi&s=tag&q=index&order=name&limit={{0}}&name={{1}}" , SiteName, ShortName, Referer, true, BooruProcessor.SourceType.XML) { Url = $"{SiteUrl}/index.php?page=dapi&s=post&q=index&pid={{0}}&limit={{1}}&tags={{2}}" }; pageString = booru.GetPageString(page, count, keyWord, proxy); if (pageString.Length < 24) { return(pageString); } if (GetAPImode(pageString) == APImode.XML) { apiMode = APImode.XML; return(pageString); } } // Html if (apiMode == APImode.NULL || apiMode == APImode.OTHER) { booru.Url = $"{SiteUrl}/index.php?page=post&s=list&pid={{0}}&tags={{1}}"; pageString = booru.GetPageString((page - 1) * 42, 0, keyWord, proxy); if (pageString.Length < 24) { return(pageString); } apiMode = APImode.OTHER; } return(pageString); }
public override string GetPageString(int page, int count, string keyWord, IWebProxy proxy) { // API booru.Url = SiteUrl + "/index.php?page=dapi&s=post&q=index&pid={0}&limit={1}&tags={2}"; string pageString = booru.GetPageString(page, count, keyWord, proxy); if (GetAPImode(pageString)) { return(pageString); } // Html booru.Url = string.Format(SiteUrl + "/index.php?page=post&s=list&pid={0}&tags={1}", (page - 1) * 42, keyWord); booru.Url = keyWord.Length < 1 ? booru.Url.Substring(0, booru.Url.Length - 6) : booru.Url; pageString = booru.GetPageString(page, 0, keyWord, proxy); return(pageString); }
public override string GetPageString(int page, int count, string keyWord, IWebProxy proxy) { // API string pageString = booru.GetPageString(page, count, keyWord, proxy); if (pageString.Contains("<post")) { APImode = true; return(pageString); } // Html booru.siteUrl = string.Format(SiteUrl + "/index.php?page=post&s=list&pid={0}&tags={1}", (page - 1) * 42, keyWord); booru.siteUrl = keyWord.Length < 1 ? booru.siteUrl.Substring(0, booru.siteUrl.Length - 6) : booru.siteUrl; pageString = booru.GetPageString(page, 0, keyWord, proxy); return(pageString); }
public override string GetPageString(int page, int count, string keyWord, IWebProxy proxy) { StringBuilder sb = new StringBuilder(); sb.Append(keyWord); if (srcType == Rule34srcType.Filter) { sb.Append(" "); sb.Append(filterTag); } return(booru.GetPageString(page, count, sb.ToString(), proxy)); }
public override string GetPageString(int page, int count, string keyWord, IWebProxy proxy) { // API // JSON booru.Url = $"{SiteUrl}/index.php?page=dapi&s=post&q=index&pid={{0}}&limit={{1}}&json=1&tags={{2}}"; string pageString = booru.GetPageString(page, count, keyWord, proxy); if (GetAPImode(pageString) == APImode.JSON) { return(pageString); } // XML if (pageString.Length < 24) { return(pageString); } booru = new SiteBooru( SiteUrl, string.Empty, $"{SiteUrl}/index.php?page=dapi&s=tag&q=index&order=name&limit={{0}}&name={{1}}" , SiteName, ShortName, Referer, true, BooruProcessor.SourceType.XML) { Url = $"{SiteUrl}/index.php?page=dapi&s=post&q=index&pid={{0}}&limit={{1}}&tags={{2}}" }; pageString = booru.GetPageString(page, count, keyWord, proxy); if (GetAPImode(pageString) == APImode.XML) { return(pageString); } // Html if (pageString.Length < 24) { return(pageString); } booru.Url = $"{SiteUrl}/index.php?page=post&s=list&pid={(page - 1) * 42}&tags={keyWord}"; booru.Url = keyWord.Length < 1 ? booru.Url.Substring(0, booru.Url.Length - 6) : booru.Url; pageString = booru.GetPageString(page, 0, keyWord, proxy); return(pageString); }
/// <summary> /// 取页面源码 来自官方APP处理方式 /// </summary> /// <param name="page"></param> /// <param name="count"></param> /// <param name="keyWord"></param> /// <param name="proxy"></param> /// <returns></returns> public override string GetPageString(int page, int count, string keyWord, IWebProxy proxy) { if (sitePrefix == "chan") { ua = "SCChannelApp/2.3 (Android; black)"; } else if (sitePrefix == "idol") { ua = "SCChannelApp/2.3 (Android; idol)"; } else { return(null); } Login(proxy); return(booru.GetPageString(page, count, keyWord, proxy)); }