首页 > 编程语言 > 详细

我们看下Python黄图批量鉴别审核(多线程版)!学习学习

时间:2020-03-14 15:25:35      阅读:71      评论:0      收藏:0      [点我收藏+]

前言
最近写了一款微信小程序需要用到图片审核,人工审核是不可能的人工审核的太费精力了,所以我就写了一个多线程批量识别脚本来处理,主要是调用百度AI的接口,这里我是付费了也不贵审核一条1分钱不到,再说我的图片也没有很多,而且实名认证可以免费10000条。

准备
去百度AI平台注册一个账号,然后去申请一个内容审核的应用,申请完会给你一些程序需要用到的密钥。

然后根据说明文档下载PYTHON的SDK,大家还是看一下开发文档的好,也不多就几行而已。

里面比较关键的数据就是这个,返回结果类型

conclusionType uint64 N 审核结果类型,可取值1、2、3、4,分别代表1:合规,2:不合规,3:疑似,4:审核失败

当你完成了上面操作后你就可以上代码了

代码

import json
from aip import AipImageCensor
from multiprocessing.pool import ThreadPool

checks = []
file_dumps = open("./dump.txt", "w", encoding=‘utf-8‘)

cur_count = 0
global_count = 0

# 这边就是填你上面申请的密钥例:星空软件网 就OK的
APP_ID = ‘‘
API_KEY = ‘‘
SECRET_KEY = ‘‘

def onetest(url):
    global cur_count
    try:
        client = AipImageCensor(APP_ID, API_KEY, SECRET_KEY)
        result = client.imageCensorUserDefined(url)
        result = json.loads(str(result).replace("‘", ‘"‘))
        print(str(result) + " - {" + str(cur_count) + "/" + str(global_count) + "}")
        if "‘conclusionType‘: 1" in str(result):
            file_dumps.write(url)
        cur_count = cur_count + 1
    except Exception as e:
        print(e)

def loaddata():
    global global_count
    with open("./urls.txt", "r", encoding=‘utf-8‘) as file:
        for line in file.readlines():
            checks.append(line)
    global_count = len(checks)

def main():
    loaddata()
    pool = ThreadPool(processes=50)
    pool.map(onetest, checks)
    pool.close()
    pool.join()

if __name__ == ‘__main__‘:
    main()

  

你只需要准备好 urls.txt 这个放一堆链接的文件就可以了。当然我这是调用的远程图片,你也可以根据文档改成本地图片道理是一样的。

结语
审核的时候忘记截图了,反正运行上面的代码你只需要去泡杯茶就可以了,接下来完全交给程序操作,大家有兴趣的可以去微信小程序上搜索”p站榜“,这是我最近写的一款二次元图片展示程序,里面的图片就是用这个审核的,一开始提交给平台审核的时候说有违规图片没法通过,后来一句 python main.py 就解决了,可见python是多么强大!还有别光拿代码不评论啊,给点支持嘛!

我们看下Python黄图批量鉴别审核(多线程版)!学习学习

原文:https://www.cnblogs.com/xkrj5/p/12492171.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!