【问题标题】:AWS Translate large HTML with PythonAWS 使用 Python 翻译大型 HTML
【发布时间】:2021-01-21 02:43:30
【问题描述】:

我有一个 HTML 格式的大文本,需要使用 Amazon Translate API 翻译成不同的语言(它必须是 AWS,没有使用其他服务的选项)。

亚马逊每次调用最多可以翻译 5000 个字符,因此我需要将大文本“拆分”成句子。

在 HTML 中,我有许多标签,例如 DIV、IMG、链接、粗体和斜体标签等。

这是我的实际做法:

  1. 获取 HTML 文本并通过 Python HTMLParser 传递它
  2. 如果打开标签是<p> 获取数据(使用handle_data 函数)
  3. “拆分”总共少于 5000 个字符的句子中的数据
  4. 翻译每个“少于 5000 个字符”的句子块并将它们加入一个大的翻译文本中
  5. 用翻译后的文本重构 HTML

这里的问题是我不知道如何重构 HTML,并识别<p> 中的<a>, <b>, <i>, <img> 等标签。

还有其他方法或解决方案吗?

如果你有示例代码,那就太好了,因为我不知道如何覆盖解析器的 handle 函数

提前致谢。

【问题讨论】:

标签: python html amazon-web-services translation


【解决方案1】:

对于指定的用例,当它是单个的,不是很大的文件,并且您需要立即响应时,translate_text 方法应该可以。

如果您有很多 HTML 文件,您可以使用带有 StartTextTranslationJob 的批量翻译作业

  1. 将一组文档存储在 Amazon S3 内的输入文件夹中 桶。
  2. 开始批量翻译作业。
  3. 作为请求的一部分,为 Amazon Translate 提供 IAM 角色 具有对输入 Amazon S3 文件夹的读取权限。角色必须 还具有对输出 Amazon S3 存储桶的读写访问权限。
  4. 监控批量翻译作业的进度。
  5. 从指定的检索批量翻译作业的结果 输出桶。

在这里查看更多 https://docs.aws.amazon.com/translate/latest/dg/async.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-10
    • 2019-03-23
    • 1970-01-01
    • 2021-06-04
    • 2019-06-02
    • 2018-08-27
    • 2020-10-28
    • 1970-01-01
    相关资源
    最近更新 更多