怒爬某破 Hub 站资源,只为撸这个鉴黄平台!
黃色已經(jīng)是我們所不容然而卻防不勝防的,尤其是對(duì)于做內(nèi)容的工具和平臺(tái),所以花了30分鐘搭建了一個(gè)鑒黃平臺(tái),分享給大家。
數(shù)據(jù)準(zhǔn)備
找了 N 多資源都不能解決問(wèn)題,于是怒爬某 Bub資料,備用準(zhǔn)備驗(yàn)證鑒黃效果。
“推薦一個(gè)艿艿寫(xiě)的 6000+ Star 的 SpringBoot + SpringCloud + Dubbo 教程的倉(cāng)庫(kù):https://github.com/YunaiV/SpringBoot-Labs
賬號(hào)準(zhǔn)備
本文使用的是 UCloud 提供的 UAI-Censor,目前他支持圖片,暴恐、涉政會(huì)陸續(xù)上線。他提供了每日2000張免費(fèi)調(diào)用額度,所以無(wú)論對(duì)于測(cè)試還是小眾的工具足夠了。
1、使用如下鏈接注冊(cè)賬號(hào)
https://urlify.cn/Bj2Y3y
2、創(chuàng)建 UAI-Censor 應(yīng)用
獲得應(yīng)用 ID 進(jìn)行鑒黃 API 調(diào)用的時(shí)候使用,注冊(cè)成功以后進(jìn)入控制臺(tái),搜索 UAI,然后點(diǎn)擊 AI 內(nèi)容審核
點(diǎn)擊創(chuàng)建應(yīng)用,輸入自定義的應(yīng)用名稱,點(diǎn)擊確定
點(diǎn)擊確定以后會(huì)顯示成功的彈框,高亮部分就是你的應(yīng)用ID,留著備用
3、獲取公鑰、私鑰,應(yīng)用ID
獲取了,但是不能所有人都操作吧?所有需要去注冊(cè)一個(gè)公鑰和私鑰,這樣只有你自己可以使用。點(diǎn)擊進(jìn)入如下鏈接
https://console.ucloud.cn/uapi/apikey
點(diǎn)擊顯示即可查看公鑰私鑰了
到這里就是萬(wàn)事具備只欠東風(fēng)
4、編碼
在編碼之前我們可以手工調(diào)用一下 API 看下返回結(jié)果
如圖所示,我們輸入公鑰、私鑰和應(yīng)用ID以后,點(diǎn)擊驗(yàn)證會(huì)返回一堆的 JSON 其實(shí)我們關(guān)心的就是 Result 里面的 Porn 的 Suggestion,pass-放行, forbid-封禁, check-人工審核,那么上面這個(gè)測(cè)試就是 pass 放行了,等下,你居然不相信是嗎?這時(shí)候某 Hub 的資源就派上用場(chǎng)了,來(lái)一張。
實(shí)在不忍直視啊,我就打碼了,不過(guò)看到 ?forbid了嗎
那我們直接編碼吧,代碼也是非常的簡(jiǎn)單,其中uaicensorPublicKey 和 uaicensorPrivateKey 是你自己的,這里就不顯示了,因?yàn)槭褂玫氖?SpringBoot 項(xiàng)目,RestTemplate 用起來(lái)也是非常簡(jiǎn)單。
????/***?@param?imageUrl*?@return?pass-放行,?forbid-封禁,?check-人工審核*?@throws?Exception*/public?String?check(String?imageUrl)?{String?ucloudUrl?=?"http://api.uai.ucloud.cn/v1/image/scan";String?appId?=?"uaicensor-rjmvogpx";String?uaicensorPublicKey?=?null;String?uaicensorPrivateKey?=?null;//圖片絕對(duì)路徑RestTemplate?rest?=?new?RestTemplate();HttpHeaders?headers?=?new?HttpHeaders();/***?生成signature,首字母排序*/String?timestamp?=?System.currentTimeMillis()?+?"";SortedMap<Object,?Object>?packageParams?=?new?TreeMap<>();packageParams.put("PublicKey",?uaicensorPublicKey);packageParams.put("ResourceId",?appId);packageParams.put("Timestamp",?timestamp);packageParams.put("Url",?imageUrl);String?signature?=?null;try?{signature?=?UCloudUtil.createSign(packageParams,?uaicensorPrivateKey);}?catch?(Exception?e)?{return?null;}/***?參數(shù)*/MultiValueMap<String,?Object>?param?=?new?LinkedMultiValueMap<>();param.add("Scenes",?"porn");param.add("Method",?"url");param.add("Url",?imageUrl);/***?headers?參數(shù)*/headers.setContentType(MediaType.parseMediaType("multipart/form-data;?charset=UTF-8"));headers.set("PublicKey",?uaicensorPublicKey);headers.set("Signature",?signature);headers.set("ResourceId",?appId);headers.set("Timestamp",?timestamp);HttpEntity<MultiValueMap<String,?Object>>?httpEntity?=?new?HttpEntity<>(param,?headers);ResponseEntity<String>?responseEntity?=?rest.exchange(ucloudUrl,?HttpMethod.POST,?httpEntity,?String.class);String?body?=?responseEntity.getBody();JSONObject?jsonObject?=?JSON.parseObject(body);if?(jsonObject.getInteger("RetCode")?==?0)?{String?res?=?jsonObject.getJSONObject("Result").getJSONObject("Porn").getString("Suggestion");return?res;}return?null;}是不是非常簡(jiǎn)單?那么開(kāi)始你的探索之旅吧?
總結(jié)
以上是生活随笔為你收集整理的怒爬某破 Hub 站资源,只为撸这个鉴黄平台!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 面试:如何从 100 亿 URL 中找出
- 下一篇: 一文带你 API 网关从入门到放弃
