Python黄图批量鉴别审核(多线程版)
前言
最近写了一款微信小程序需要用到图片审核,人工审核是不可能的人工审核的太费精力了,所以我就写了一个多线程批量识别脚本来处理,主要是调用百度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 # 这边就是填你上面申请的密钥 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 这个放一堆链接的文件就可以了。当然我这是调用的远程图片,你也可以根据文档改成本地图片道理是一样的。
结语
审核的时候忘记截图了,反正运行上面的代码你只需要去泡杯茶就可以了,接下来完全交给程序操作。
相关推荐
YENCSDN 2020-11-17
lsjweiyi 2020-11-17
houmenghu 2020-11-17
Erick 2020-11-17
HeyShHeyou 2020-11-17
以梦为马不负韶华 2020-10-20
lhtzbj 2020-11-17
夜斗不是神 2020-11-17
pythonjw 2020-11-17
dingwun 2020-11-16
lhxxhl 2020-11-16
坚持是一种品质 2020-11-16
染血白衣 2020-11-16
huavhuahua 2020-11-20
meylovezn 2020-11-20
逍遥友 2020-11-20
weiiron 2020-11-16