写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!
轉自:碼匠筆記
黃色已經是我們所不容然而卻防不勝防的,尤其是對于做內容的工具和平臺,所以花了30分鐘搭建了一個鑒黃平臺,分享給大家。
數據準備
找了 N 多資源都不能解決問題,于是怒爬某 Bub資料,備用準備驗證鑒黃效果。
賬號準備
本文使用的是 UCloud 提供的 UAI-Censor,目前他支持圖片,暴恐、涉政會陸續上線。他提供了每日2000張免費調用額度,所以無論對于測試還是小眾的工具足夠了。
1. 使用如下鏈接注冊賬號
https://urlify.cn/UNjURr
2. 創建 UAI-Censor 應用
獲得應用 ID 進行鑒黃 API 調用的時候使用,注冊成功以后進入控制臺,搜索 UAI,然后點擊 AI 內容審核
點擊創建應用,輸入自定義的應用名稱,點擊確定
點擊確定以后會顯示成功的彈框,高亮部分就是你的應用ID,留著備用
3. 獲取公鑰、私鑰,應用ID
獲取了,但是不能所有人都操作吧?所有需要去注冊一個公鑰和私鑰,這樣只有你自己可以使用。點擊進入如下鏈接
https://console.ucloud.cn/uapi/apikey
點擊顯示即可查看公鑰私鑰了
到這里就是萬事具備只欠東風
4. 編碼
在編碼之前我們可以手工調用一下 API 看下返回結果
如圖所示,我們輸入公鑰、私鑰和應用ID以后,點擊驗證會返回一堆的 JSON 其實我們關心的就是 Result 里面的 Porn 的 Suggestion,pass-放行, forbid-封禁, check-人工審核,那么上面這個測試就是 pass 放行了,等下,你居然不相信是嗎?這時候某 Hub 的資源就派上用場了,來一張。
實在不忍直視啊,我就打碼了,不過看到 ?forbid了嗎
那我們直接編碼吧,代碼也是非常的簡單,其中uaicensorPublicKey 和 uaicensorPrivateKey 是你自己的,這里就不顯示了,因為使用的是 SpringBoot 項目,RestTemplate 用起來也是非常簡單。
?/***?@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;//圖片絕對路徑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;}/***?參數*/MultiValueMap<String,?Object>?param?=?new?LinkedMultiValueMap<>();param.add("Scenes",?"porn");param.add("Method",?"url");param.add("Url",?imageUrl);/***?headers?參數*/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;}是不是非常簡單?那么開始你的探索之旅吧?
?好書贈送
簡介:
本書涵蓋Python 3.8實際開發的重要知識點,內容包括: Python語言的數據類型、運算符、數據結構、字符串、控制流、函數、序列、多線程、正則表達式、面向對象編程、文件操作、網絡編程、郵件收發、數據庫操作等,提供網絡爬蟲、自然語言處理、區塊鏈項目和圖片處理項目范例
上期中獎者公布?
END
為了回饋廣大讀者朋友,我特地免費送給大家三份大禮1. Pandas 官方教程中文版。? 2. 300G 硬核 Python 視頻,涵蓋你所有想看。?? 3. 一個月精通 Python 的秘籍。 下面是部分視頻的截圖資料獲取方法 長按掃描下方二維碼關注 在后臺回復關鍵詞:資料掃描關注,回復"資料"免費領取
總結
以上是生活随笔為你收集整理的写代码爬取了某 Hub 资源,只为撸这个鉴黄平台!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 只要200页!火爆全网的Python学习
- 下一篇: 肝!一款基于 Python 语言的 Li