github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!

Python实战社群
Java实战社群
长按识别下方二维码,按需求添加
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

扫码关注添加客服
进Python社群▲
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

扫码关注添加客服
进Java社群▲
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

来源:码匠笔记
黄色已经是我们所不容然而却防不胜防的,尤其是对于做内容的工具和平台,所以花了30分钟搭建了一个鉴黄平台,分享给大家。

# 数据准备 找了 N 多资源都不能解决问题,于是怒爬某 Bub资料,备用准备验证鉴黄效果。
# 账号准备 本文使用的是 UCloud 提供的 UAI-Censor,目前他支持图片,暴恐、涉政会陆续上线。他提供了每日2000张免费调用额度,所以无论对于测试还是小众的工具足够了。
1、使用如下链接注册账号
https://urlify.cn/Bj2Y3y
2、创建 UAI-Censor 应用
获得应用 ID 进行鉴黄 API 调用的时候使用,注册成功以后进入控制台,搜索 UAI,然后点击 AI 内容审核
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

点击创建应用,输入自定义的应用名称,点击确定
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

点击确定以后会显示成功的弹框,高亮部分就是你的应用ID,留着备用
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

3、获取公钥、私钥,应用ID
获取了,但是不能所有人都操作吧?所有需要去注册一个公钥和私钥,这样只有你自己可以使用。点击进入如下链接

https://console.ucloud.cn/uapi/apikey

点击显示即可查看公钥私钥了
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

到这里就是万事具备只欠东风
4、编码
在编码之前我们可以手工调用一下 API 看下返回结果
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

如图所示,我们输入公钥、私钥和应用ID以后,点击验证会返回一堆的 JSON其实我们关心的就是 Result 里面的 Porn 的 Suggestion,pass-放行, forbid-封禁, check-人工审核,那么上面这个测试就是 pass 放行了,等下,你居然不相信是吗?这时候某 Hub 的资源就派上用场了,来一张。

实在不忍直视啊,我就打码了,不过看到forbid了吗
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

那我们直接编码吧,代码也是非常的简单,其中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 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 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 httpEntity = new HttpEntity<>(param, headers); ResponseEntity 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; }

是不是非常简单?那么开始你的探索之旅吧?
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

程序员专栏 扫码关注填加客服 长按识别下方二维码进群

github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

近期精彩内容推荐:
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片
955 不加班的公司名单:955.WLB
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片
终于稳了!2020年8月程序员工资最新统计
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片
盘点 Python 10 大常用数据结构(上篇)
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片
理解Java反射的正确姿势
github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片

【github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!】在看点这里github|大佬深夜怒爬某 Hub 站资源,只为撸这个鉴黄平台!
文章图片
好文分享给更多人↓↓

    推荐阅读