欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Python通过频繁访问剪切板的方式使用谷歌翻译(pyperclip,request)

程序员文章站 2022-07-13 17:20:25
...

博主在读研究生,需要看大量英文文献, 无奈英语太渣,硬着头皮看容易走神,使用翻译软件或者谷歌翻译还会遇到一个严重的问题:
那就是在很多论文上复制内容,其中每一行都会带一个回车符,翻译时还得一个一个删,还得频繁地 Ctrl-C->鼠标->Ctrl->V 操作(可想而知我有多懒).
突然间想到大学毕业论文降重时写过一个出口转内销的Python脚本(中文->外文->中文),稍加改变即可实现所需功能(太特么聪明了)

使用姿势如下图:
Python通过频繁访问剪切板的方式使用谷歌翻译(pyperclip,request)

右边复制,左边即可显示结果

全部代码如下

# coding=utf-8
import requests
import pyperclip
import time
url = "https://translate.googleapis.com/translate_a/single?client=gtx&sl={}&tl={}&dt=t&q={}&ie=UTF-8&oe=UTF-8"
print("英语:en")
print("中文(繁体):zh-TW")
print("法语:fr")
print("俄语:ru")
print("日语:ja")
print("越南语:vi")
print("波兰语:pl")
print("德语:de")
print("韩语:ko")
print("其他自己查:http://board.locoy.com/?post=94")
print("*******************************************")

la = input("输入需要转换的语言(例如:en):")
old_text = ""
text = ""
while True:
    # print("**********************1***************************")
    text = pyperclip.paste()
    if old_text != text:
        im=text.replace('\r\n',' ')
        # print("**********************2***************************")
        # print(im)en
        old_text = text
        translation1 = ""
        full_url = url.format( la, "zh-CN", im)
        try:
            r = requests.get(full_url)
            # print(r.json())
        except:
            print("再试一次吧......")
        if r.json()[0] != None:
            for item in r.json()[0]:
                if item[0] != None:
                    try:
                        translation1+=item[0].replace('\r', '')
                    except:
                        pass
        # print(type(pyperclip.paste()))
        # pyperclip.copy(translation1)
        print(translation1)
        print("*************************************************")
        print("*************************************************")
        # print("**********************3***************************")
    time.sleep(0.5)
        # print("*已复制到剪切板,直接粘贴即可(当前语言:"+la+")*")