本文介绍如何使用Python SDK文件审核接口,检测文件中的文字和图片信息。
功能描述
文件审核目前只支持异步检测(异步检测不会实时返回检测结果)任务。关于参数的详细说明,请参见文件异步检测1.0、文件异步检测2.0。
对比项 | 文件检测1.0 | 文件检测2.0 |
---|---|---|
支持检测图片所在的文件格式 | 仅PDF | 支持DOC、DOCX、PPT、PPTX、PDF、XLS、XLSX、TXT格式 |
检测图片中的文字 | 支持 | 支持 |
文件大小限制 | 5 MB | 200 MB |
同时检测文件的数量 | 5路 | 10路 |
近线检测模式(用于批量文件检测) | 不支持 | 支持 |
1.0版本与2.0版本检测结果兼容性 | 兼容 | 兼容 |
其他 | 无 |
|
前提条件
- 安装Python依赖。关于安装Python依赖的具体操作,请参见安装Python依赖。说明 请一定按照安装Python依赖页面中的版本安装,否则会导致调用失败。
- 下载并在项目工程中引入Extension.Uploader工具类。
提交文件异步检测任务1.0
接口 | 描述 | 支持的地域 |
---|---|---|
FileAsyncScanRequest | 提交文件异步检测任务,对文件中的文字和图片进行检测。 |
|
示例代码
# 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 | 提交文件异步检测任务,对文件中的文字和图片进行检测。 |
|
示例代码
# 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 | 获取文件异步检测结果。 |
|
示例代码
# 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)