我有一个HTML格式的大文本,需要使用Amazon Translate API翻译成不同的语言(它需要是AWS,没有使用其他服务的选项(。
亚马逊每次通话要翻译的字符限制在5000个左右,所以我需要将大文本"拆分"成句子。
在HTML中,我有许多标签,如DIV、IMG、链接、粗体和斜体标签等。
这是我的实际方法:
- 获取HTML文本并通过Python HTMLParser进行传递
- 如果打开的标签是
<p>
,则获取数据(使用handle_data
函数( - 在总共少于5000个字符的句子中"拆分"数据
- 翻译每个"少于5000个字符"的句子块,并将它们合并成一个大的翻译文本
- 用翻译后的文本重建HTML
这里的问题是,我不知道如何重建HTML,以及如何识别<p>
中的<a>, <b>, <i>, <img>
等标签。
还有其他方法或解决方案吗?
如果您有示例代码,那就太好了,因为我不知道如何覆盖解析器的handle
函数
提前谢谢。
对于指定的用例,当它是一个单独的、不是很大的文件,并且您需要立即响应时,translate_text
方法应该可以。
如果你有很多HTML文件,你可以使用StartTextTranslationJob
的批量翻译作业
- 将一组文档存储在AmazonS3内部的输入文件夹中铲斗
- 启动批量翻译作业
- 作为您请求的一部分,请为Amazon Translate提供IAM角色其具有对输入的Amazon S3文件夹的读取访问权限。角色必须还具有对输出AmazonS3存储桶的读写访问权限
- 监视批处理翻译作业的进度
- 从指定的中检索批处理翻译作业的结果输出铲斗
点击此处查看更多信息https://docs.aws.amazon.com/translate/latest/dg/async.html