【问题标题】:Google Translate API : Multiple input texts - PythonGoogle Translate API:多个输入文本 - Python
【发布时间】:2018-08-11 12:08:19
【问题描述】:

我正在努力寻找一种在 Google Translate API 中输入多个文本的方法。 我的设置包括以下内容。

我的问题: 如何在输入中添加多个文本。 ?因为下面的代码对我没有任何意义。

data = {'q':'cat', 'q':'dog','source':source,'target':target,'format':'html'}

这是我的代码。

data = {'q':'This is Text1', 'q':'This is Text2', 'q':'This is Text3', source':source,'target':target,'format':'html'}
_req = urllib.request.Request("https://translation.googleapis.com/language/translate/v2?key="+API_KEY)
_req.add_header('Content-length', len(data))
_req.data = urllib.parse.urlencode(data).encode("utf-8")
response = Connector._get(_req,_session)

Connector._get() 在其他文件中,它在内部调用 urllib.request.build_opener 并使用数据。

谢谢!

【问题讨论】:

  • @Nadan Bhat 你能不能也展示一些你用来构建你对谷歌api的请求的python代码?
  • @Hugo 我已经更新了问题。
  • 最后找到什么解决方案,可以分享一下吗?
  • @T.Todua {'q':strings, 'source':source,'target':target,'format':'html'} 其中strings 是一个列表。 ['my text', 'second text']
  • @NandanBhat 好的,谢谢。您可以将其发布为答案。

标签: python-3.x python-requests urllib google-translate google-translator-toolkit


【解决方案1】:

要在 Python 中为 HTTP 请求发布多个参数(具有相同名称),您可以使用值列表。它们将被添加到q=dog&q=cat 之类的 URL。

例子:

headers = { 'content-type': 'application/json; charset=utf-8' }
params = {'q': ['cat', 'dog'],'source':source,'target':target,'format':'html'}
response = requests.post(
            "https://translation.googleapis.com/language/translate/v2?key=",
            headers=headers,
            params=params
        )

具体来说,params = {'q': ['cat', 'dog']} 与您的问题相关。

【讨论】:

    【解决方案2】:

    我自己没有测试过,但似乎您应该构建数据字符串以作为数据参数提供给您的 python urllib.request 方法。所以像 data = "{\n \'q\':{}\n \'q\':{} {} etc.".format(qstr,qstr, etc...)

    在那之后,你可能想让有几个 qs 变得更痛苦。 您可以创建一个循环并使用 += 操作构建您的字符串。

    【讨论】:

    • 是的!但是我在想什么,正如我在问题中提到的那样,在谷歌翻译 API 中,他们已经展示了实现。当我从 REST 客户端(PostMan)尝试时,它也可以工作。我认为这不应该那么复杂。必须有一些简单的解决方法。
    • 好吧,我试着让 q 成为数据字典中的 str 列表,打印 _req.data 并不难看,哈哈哈。也许试试 data = { 'q': [str1,str2,str3] 等 }
    猜你喜欢
    • 2019-07-10
    • 2020-02-11
    • 2017-03-27
    • 1970-01-01
    • 2015-01-07
    • 2023-04-02
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多