本文介绍如何使用Python SDK文件审核接口,检测文件中的文字和图片信息。

功能描述

文件审核目前只支持异步检测(异步检测不会实时返回检测结果)任务。关于参数的详细说明,请参见文件异步检测1.0文件异步检测2.0

对比项文件检测1.0文件检测2.0
支持检测图片所在的文件格式仅PDF支持DOC、DOCX、PPT、PPTX、PDF、XLS、XLSX、TXT格式
检测图片中的文字支持支持
文件大小限制5 MB200 MB
同时检测文件的数量5路10路
近线检测模式(用于批量文件检测)不支持支持
1.0版本与2.0版本检测结果兼容性兼容兼容
其他
  • 支持开启或关闭检测图片
  • 支持指定最多检测的文件页数

前提条件

提交文件异步检测任务1.0

接口描述支持的地域
FileAsyncScanRequest提交文件异步检测任务,对文件中的文字和图片进行检测。
  • cn-shanghai:华东2(上海)
  • cn-beijing:华北2(北京)
示例代码
# coding=utf-8

import uuid

from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import FileAsyncScanRequest
import json

# 请使用您的AccessKey信息。
clt = client.AcsClient("您的AccessKey ID", "您的AccessKey Secret", 'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = FileAsyncScanRequest.FileAsyncScanRequest()
request.set_accept_format('JSON')
# textScenes:检测内容包含文本时,指定检测场景,取值:antispam。imageScenes:检测内容包含图片时,指定检测场景。
request.set_content(
    json.dumps({"textScenes": ["antispam"], "imageScenes": ["porn", "ad"],
                "tasks": [
                    {"dataId": "检测数据ID",
                     "url": "待检测文件链接"}]}))

try:
    response = clt.do_action_with_exception(request)
    print(response)
except Exception as err:
    print(err)

提交文件异步检测任务2.0

接口描述支持的地域
FileAsyncScanRequest提交文件异步检测任务,对文件中的文字和图片进行检测。
  • cn-shanghai:华东2(上海)
  • cn-beijing:华北2(北京)
示例代码
# coding=utf-8

from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import FileAsyncScanV2Request
import json

# 请使用您的AccessKey信息。
clt = client.AcsClient("您的AccessKey ID", "您的AccessKey Secret", 'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = FileAsyncScanV2Request.FileAsyncScanV2Request()
request.set_accept_format('JSON')
request.set_content(
    json.dumps({"modType": "All", "maxPages": 30, "offline": False, "bizType": "aligreen_default_bizType",
                "tasks": [
                    {"dataId": "检测数据ID",
                     "url": "待检测文件链接"}
                ]}))

try:
    response = clt.do_action_with_exception(request)
    print(response)
except Exception as err:
    print(err)

获取文件异步检测任务结果

接口描述支持的Region
FileAsyncScanResultsRequest获取文件异步检测结果。
  • cn-shanghai:华东2(上海)
  • cn-beijing:华北2(北京)
示例代码
# coding=utf-8

from aliyunsdkcore import client
from aliyunsdkcore.profile import region_provider
from aliyunsdkgreen.request.v20180509 import FileAsyncScanResultsRequest
import json


# 请使用您的AccessKey信息。
clt = client.AcsClient("您的AccessKey ID", "您的AccessKey Secret", 'cn-shanghai')
region_provider.modify_point('Green', 'cn-shanghai', 'green.cn-shanghai.aliyuncs.com')
request = FileAsyncScanResultsRequest.FileAsyncScanResultsRequest()
request.set_accept_format('JSON')

request.set_content(
    json.dumps({"taskIds": ["文件检测任务ID"]}))

try:
    response = clt.do_action_with_exception(request)
    print(response)
except Exception as err:
    print(err)