python - AWS Translate 使用 Python 的大型 HTML

标签 python html amazon-web-services translation

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

亚马逊限制每次通话翻译约 5000 个字符,因此我需要在句子中“拆分”大文本。

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

这是我的实际做法:

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

这里的问题是我不知道如何重建 HTML,并识别像 <a>, <b>, <i>, <img> 这样的标签。等在 <p> 内.

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

如果您有示例代码,那会很好,因为我不知道如何覆盖 handle解析器的功能

提前致谢。

最佳答案

对于指定的用例,当它是一个单一的、不是很大的文件,并且您需要立即响应时,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

关于python - AWS Translate 使用 Python 的大型 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61600358/

相关文章:

python - 过滤 Python 输出

windows-server-2008 - 带有 Windows 2008 R2 的亚马逊 EC2

json - AWS Cloudformation 快速创建链接未读取 URL 中的参数

python - Python 中无法解释的段错误

python - PyQt:如何找到适用于 Ubuntu Unity 的菜单文本颜色?

php - 对于其他编程语言,Smalltalk 源代码浏览器会有多大用处?

javascript - 动态创建的链接在 Chrome 中工作,但在 Firefox 或 IE 中不起作用

javascript - 如何使用 jquery 选择不是特定元素子元素的元素?

javascript - 如何使用 jQuery 在 HTML 字符串中查找元素并更改属性

amazon-web-services - Amazon S3 镜像 CORS 问题