专栏首页Python爬虫与算法进阶敲敲级简单的鉴别H图片的小程序

敲敲级简单的鉴别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),作者:jiandan

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 说一道排序题

    关于Python的sorted排序算法,这篇文章讲的比较详细:python sort函数内部实现原理,说到Python使用的是著名的Timesort算法。

    小歪
  • Python爬虫进阶(一)使用Selenium进行网页抓取

    萌新要学习Selenium了,安装是个坑。还要下载相关配件,可以参考python 安装selenium环境(https://my.oschina.net/hyp...

    小歪
  • Python实现常见的回文字符串算法

    Manacher 算法首先对字符串做一个预处理,使得所有的串都是奇数长度, 插入的是同样的符号且符号不存在与原串中,串的回文性不受影响

    小歪
  • MySQL中null值的一个小坑

    今天在测试null值的时候,发现了一个小问题,记录在这里,不知道大家以前遇到过没。

    AsiaYe
  • Electron + Vue跨平台桌面应用开发实战教程(一)

    相信看到这篇文章的人,都是对Electron感兴趣的, 网上关于Electron的教程其实已经不少了,但是大多都是一些功能点的实现,对于从零开始搭建一个适合自己...

    Javanx
  • 专栏:008:MySQLdb及其银行模拟转账

    谢伟
  • ISME+Microbiome:Sloan随机性方法的发展及代码

    https://www.nature.com/articles/ismej2015142

    生物信息知识分享
  • GAN的数学原理

    最近看了一下GAN的论文,又恰好看到了李宏毅老师的课程,感觉里面的数学推导很有意思,所以准备写下来以备之后查阅。

    zenRRan
  • 在windows上安装Python cr

    出现这个问题是因为为安装过程中需要libeay32.dll,ssleay32.dll

    py3study
  • 如何用AI把旅游变得更加轻松惬意?这里有一些很好的建议

    镁客网

扫码关注云+社区

领取腾讯云代金券