写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!
轉(zhuǎn)自:碼匠筆記
黃色已經(jīng)是我們所不容然而卻防不勝防的,尤其是對(duì)于做內(nèi)容的工具和平臺(tái),所以花了30分鐘搭建了一個(gè)鑒黃平臺(tái),分享給大家。
數(shù)據(jù)準(zhǔn)備
找了 N 多資源都不能解決問(wèn)題,于是怒爬某 Bub資料,備用準(zhǔn)備驗(yàn)證鑒黃效果。
賬號(hào)準(zhǔn)備
本文使用的是 UCloud 提供的 UAI-Censor,目前他支持圖片,暴恐、涉政會(huì)陸續(xù)上線。他提供了每日2000張免費(fèi)調(diào)用額度,所以無(wú)論對(duì)于測(cè)試還是小眾的工具足夠了。
1. 使用如下鏈接注冊(cè)賬號(hào)
https://urlify.cn/UNjURr
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)單?那么開始你的探索之旅吧?
?好書贈(zèng)送
簡(jiǎn)介:
本書涵蓋Python 3.8實(shí)際開發(fā)的重要知識(shí)點(diǎn),內(nèi)容包括: Python語(yǔ)言的數(shù)據(jù)類型、運(yùn)算符、數(shù)據(jù)結(jié)構(gòu)、字符串、控制流、函數(shù)、序列、多線程、正則表達(dá)式、面向?qū)ο缶幊獭⑽募僮鳌⒕W(wǎng)絡(luò)編程、郵件收發(fā)、數(shù)據(jù)庫(kù)操作等,提供網(wǎng)絡(luò)爬蟲、自然語(yǔ)言處理、區(qū)塊鏈項(xiàng)目和圖片處理項(xiàng)目范例
上期中獎(jiǎng)?wù)吖?
END
為了回饋廣大讀者朋友,我特地免費(fèi)送給大家三份大禮1. Pandas 官方教程中文版。? 2. 300G 硬核 Python 視頻,涵蓋你所有想看。?? 3. 一個(gè)月精通 Python 的秘籍。 下面是部分視頻的截圖資料獲取方法 長(zhǎng)按掃描下方二維碼關(guān)注 在后臺(tái)回復(fù)關(guān)鍵詞:資料掃描關(guān)注,回復(fù)"資料"免費(fèi)領(lǐng)取
總結(jié)
以上是生活随笔為你收集整理的写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 只要200页!火爆全网的Python学习
- 下一篇: 肝!一款基于 Python 语言的 Li