python google翻译_用python爬Google翻译

#!/usr/bin/python

# -*- encoding:utf-8 -*-

import requests

from urllib.parse import quote

import TkParams

import json

cookies = [

'_ga=GA1.3.1058806942.1531796090; NID=182=k5XIOE2zGfcgE2KEP4iTQWpzGcWXQpEHZhBh_3BF9lRwlnxyn24W2jnTaXfadXinVn6ZVa4Mkpk8HZS02sF7adR-6XI60kfQMEut5c9VQgZxDfgJnatiVzhS7qrHyZ4zP3bamIWHZ16BxtOPfiLeAsgxbUu9g_0XzqSAqgQp9GI; _gid=GA1.3.1828501068.1558528281; 1P_JAR=2019-5-23-0; _gat=1',

'_ga=GA1.3.1058806942.1531796090; _gid=GA1.3.366383484.1556091451; NID=182=k5XIOE2zGfcgE2KEP4iTQWpzGcWXQpEHZhBh_3BF9lRwlnxyn24W2jnTaXfadXinVn6ZVa4Mkpk8HZS02sF7adR-6XI60kfQMEut5c9VQgZxDfgJnatiVzhS7qrHyZ4zP3bamIWHZ16BxtOPfiLeAsgxbUu9g_0XzqSAqgQp9GI; 1P_JAR=2019-4-25-0; _gat=1'

]

class constant:

cookie_index = 0

"""

get translate url

"""

def _get_translate_url(from_language, to_language, translate_text):

TkParams.refresh_tkk()

tk = TkParams.acquire(translate_text)

key = quote(translate_text)

sl = from_language

tl = to_language

url = 'https://translate.google.cn/translate_a/single?client=webapp&sl=%s&tl=%s&hl=zh-CN&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&otf=1&pc=1&ssel=0&tsel=0&kc=3&tk=%s&q=%s' % (

sl, tl, tk, key)

return url

def _get(url):

cookie_len = len(cookies)

constant.cookie_index += 1

constant.cookie_index %= cookie_len

headers = {'content-type': 'application/json; charset=UTF-8',

'accept-language': 'zh-CN,zh;q=0.9',

"content-disposition": "attachment; filename=\"f.txt\"",

'Accept-Encoding': '',

"cookie": cookies[constant.cookie_index],

'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36',

"accept": "text/html",

"x-client-data": "CJe2yQEIo7bJAQjEtskBCKmdygEIqKPKAQixp8oBCOKoygEI8anKAQivrMoBGIKYygE=",

"accept-Charset": "UTF-8"}

try:

res = requests.get(url, verify=True, headers=headers, timeout=3)

except:

return '', 404

return res.text.encode('UTF-8').decode('UTF-8'), res.status_code

"""

获取结果列表的第一个翻译

"""

def _getTranslateFirstWord(translateJson):

return translateJson[0][0][0].lower()

"""

翻译接口,提供外部使用

参数说明:

#from_language: 单词的语言代码,如:'auto'(自动检测语言)

#to_language: 目标语言代码,如:'en' (英语)

#word: 需要翻译的文字

"""

def translate(from_language, to_language, word):

url = _get_translate_url(from_language, to_language, word)

translateRes, code = _get(url)

if code is not 200:

return ''

jsonArray = json.loads(translateRes.lower())

return _getTranslateFirstWord(jsonArray)

if __name__ == '__main__':

print(translate('auto', 'en', '你好'))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python谷歌翻译是一个功能强大的工具,可以实现对Excel文件和PDF文件中的内容进行翻译。该虫支持对Excel文件进行直接翻译,也可以将PDF文件中的表格转化为Excel再进行翻译。支持的Excel文件格式包括xlsx和xlsm等。\[1\] 使用该虫的方法及注意事项如下:首先,将需要翻译的PDF文件放入translate_pdf_to_text_to_word.exe相同的路径下。然后双击translate_pdf_to_text_to_word.exe开始运行。在命令窗口中会提示是否开始将PDF文件转化为txt文件,如果没有txt文件的话,需要按下1生成txt文件。生成的txt文件中的每句话可能会被分成几段,需要手动打开txt文件对段落格式进行调整。按下1后,会提示是否开始翻译,按下y后就开始进行翻译(使用谷歌翻译),按下3后结束程序。\[2\] 该虫对大众语言的翻译效果较好,但对一些偏门的语言可能存在问题。虫使用字符串截取的方式解析谷歌的返回数据,因此对于某些语言或矩阵可能会存在截取的问题,但只需修改translate方法中的参数n即可解决。\[3\] #### 引用[.reference_title] - *1* *2* [Python实现谷歌翻译虫,翻译PDF,翻译Excel,支持excel文档打开翻译,支持xlsx,xlsm等格式。](https://blog.csdn.net/weixin_48223757/article/details/126157914)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [使用Python虫调用谷歌翻译【21年8月】](https://blog.csdn.net/qq_40846669/article/details/119926079)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值