Google Translate Python API具有format_关键字,可以将其设置为“ html”:https://googlecloudplatform.github.io/google-cloud-python/latest/translate/client.html
我有一些新闻新闻的HTML,该新闻是使用报纸3k软件包检索的:https://github.com/codelucas/newspaper/
HTML是一个像这样开头的二进制字符串:
checkbox
我尝试使用以下Google Translate Python API调用将此HTML(大部分为阿拉伯语)翻译为英语:
b'<!DOCTYPE html>\r\n<html xmlns="http://www.w3.org/1999/xhtml" lang="ar" dir="rtl" xmlns:fb="http://www.facebook.com/2008/fbml" xmlns:og="http://opengraphprotocol.org/schema/">\r\n<head>\r\n\t<!-- Meta, title, CSS, favicons, etc. -->\r\n\t<meta charset="UTF-8" />\r\n\t<meta http-equiv="Conten
这将导致以下错误(字节类型的对象不可JSON序列化)。我在做什么错了?
html_english=translate_client.translate(html_arabic, target_language='en', format_='html')
答案 0 :(得分:1)
答案是(感谢@abarnert和Python 3: Is not JSON serializable),通过将 .decode( “ utf-8”):
html_english=translate_client.translate(
html_arabic.decode("utf-8"),
target_language='en', format_='html')