敲敲级简单的鉴别H图片的小程序

首先,来看一下程序运行结果的截图

功能实现

一、下载SDK

pip install qcloud_image

先贴出官方给的实例代码:

#!/usr/bin/env python
— coding: utf-8 —
from qcloud_image import Client, CIFile
    appid = ‘填入你的 Appid’
secret_id = ‘填入你的 secret_id’
secret_key = ‘填入你的 secret_key’
bucket = ‘填入你的 bucket 名称’
client = Client(appid, secret_id, secret_key, bucket)
client.use_http()
client.set_timeout(30)
print client.tag_detect(CIFile(‘./img/demo.jpg’))

appid这些都是要自己申请的哈。在TX云的管理中心里 登录 - 腾讯云。

二、示例

拿到了官方给的案例,那我们就可以美滋滋的练手啦

# -*- coding: utf-8 -*-
"""

__author__ = 'se7en'

__date__ = '17/5/10 下午5:55'
"""
from qcloud_image import Client, CIFiles
import os

appid = '这里要填自己申请的'
secret_id = '这里要填自己申请的'
secret_key = '这里要填自己申请的'
bucket = '这里写自己创建的空间'

client = Client(appid, secret_id, secret_key, bucket)
client.use_http()
client.set_timeout(30)

def check(func):
    def _check(dir):
        for filename in os.listdir(dir):
            fname = filename
            filename = os.path.join(dir, filename)
            filename = os.path.normcase(filename)
            if os.path.splitext(fname)[-1] == '.jpg':  # 判断后缀名
                try:
                    # 这里支持传入多个需要鉴别的本地图片地址
                    results = client.porn_detect(CIFiles([filename]))
                    for result in results['result_list']:
                        func(result, fname, result['data'])
                except:
                    print("不能打开文件 {fname} ".format(fname=fname))

            else:
                print("{fname} 不是\"jpg\"文件".format(fname=fname))

    return _check

@check
def checkPic(result, filename, data):
    if result['message'] == 'success': # 判断是否请求成功
        if data['porn_score'] > 50: # 设置多少分为色情图片
            print filename + " 图片涉嫌违规"
            print "! 图片为色情图片评分:{porn_score}".format(porn_score=data['porn_score'])
            print "! 可信度:{confidence}".format(confidence=data['confidence'])

        print """
        \n======\n
        ! 图片 {filename} 可上传
        ! 性感值:{hot_score}
        ! 图片为色情图片评分:{porn_score}
        ! 可信度:{confidence}
        \n======\n
        """.format(filename=filename, hot_score=data['hot_score'], porn_score=data['porn_score'],
                   confidence=data['confidence'])

    else:
        print result['filename'] + "图片涉嫌违规,已删除"

if __name__ == '__main__':
    checkPic('/Users/xxx/Desktop/test') #这里写路径 ,windows的小伙伴要注意路径格式哈。

运行

激动的时刻到啦,我们要将测试图片准备好哟!加上骚骚的颜色!

完美啦!

男生的还没有测。。并不知道能不能检测到。。如果有人成功检测也和我说下哟。

声明:核心功能都是人家写好的接口哟,我就是调用啦~所以这个小程序简单到不能再简单了,正好适合我这样的新手拿来玩玩。我是个新手,所以有哪些代码写的不合理的地方,请提出来,我好改正!最后,请读客老爷们点个赞,么么哒!

原文发布于微信公众号 - Python爬虫与算法进阶(zhangslob)

原文发表时间:2017-07-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏友弟技术工作室

(爬虫)书籍和电影,程序员不可或缺爬虫步骤1. 分析目标网页的特征2. 找到需要爬取的数据3.多页面数据的跳转4.数据存储

周五, 由于同事给了一个下载书籍的网站。所以心血来潮,想写一个爬虫demo,把数据都爬下来。然后发现一个电影网站也是类似,于是乎。代码重用。 爬虫步骤 分析目标...

33860
来自专栏FreeBuf

Meterpreter免杀及对抗分析

0x00 前言 本文就常见的一些杀毒软件检测方法及meterpreter远控对抗杀毒软件的思路进行了一些介绍,相关内容可以参考我的上一篇文章meterprete...

55690
来自专栏我的小碗汤

推荐一款提高效率的工具

在工作中经常会遇到PDF转Word等可编辑文本情况,相信很多小伙伴用的是文字一个一个打,图片一个一个截的笨办法了。今天小编也和大家一样,准备这样搞,但是篇幅实在...

19430
来自专栏阮一峰的网络日志

如何使用 Issue 管理软件项目?

软件开发(尤其是商业软件)离不开项目管理,Issue 是最通用的管理工具之一。 本文介绍 Issue 的基本用法。 ? 一、Issue 是什么? Issue 指...

61950
来自专栏吉浦迅科技

DAY24:阅读SIMT架构

31430
来自专栏AI研习社

Github 项目推荐 | SpaceX Falcon 9 Box2D 回收降落动作模拟器

这是一款 SpaceX Falcon 9 第一级火箭的垂直火箭着陆模拟器,该模拟器用 Python 3.5 开发并且在 OpenAI Gym 环境中编写。该模拟...

16020
来自专栏奇点大数据

支付宝如何优化移动端深度学习引擎?

由于移动端资源的限制,大部分深度学习引擎都部署在云端,移动设备获取到输入数据,经过简单的加工,发送给云端,云端服务器经过深度神经网络推断运算,得到结果并反馈给移...

12830
来自专栏点滴积累

C#图像处理——ImageProcessor

这是个老生常谈的话题,需求实在太多,而且也较简单,写此文也是因为几个月没写技术文章了,权当为下一步开个头。我之前也做过很多此类项目,但是就我自己来说每次处理方式...

51570
来自专栏Golang语言社区

从零到 Go:Google感恩节火鸡涂鸦开发纪实

文是 Google 搜索团队软件工程师 Reinaldo Aguiar 发表在 Go 语言博客的客座文章,他分享了在一天之内完成首款 Go 程序的开发并发布给数...

35380
来自专栏数据小魔方

树状图(Tree Map)

今天跟大家分享的是树状图! ▼ 树状图(treemap)是一种经常用来展示多层级数据的分析工具。主要是使用矩形的面积、颜色、来显示复杂的层级数据关系,能够直观体...

643100

扫码关注云+社区

领取腾讯云代金券