最近在读 gartner 的一些文档,然后,,,全英文 然后看的我头昏脑涨。。。。重点是效率低下。。。那我就想打开了我的有道,准备看到不认得的就鼠标悬浮一会,然后等反馈。。
![be99283e9a82706e3daafe49db71bda0.png](https://img-blog.csdnimg.cn/img_convert/be99283e9a82706e3daafe49db71bda0.png)
可是,,这也太难了吧。。。能不能再偷点懒啊 ,然后我就想着能不能调翻译接口直接帮我整篇翻译完好了,理论上这是完全可以做到的哦 说干就干,辛苦一小会能节省一大把时间 ~
思路理理 ~
首先:把我需要看的文档内容都读取出来,好吧我的文档是 pdf 类型,那就对应的挑选PyPDF2之类的库来读取就好了
其次:把我读取出来的数据该整理整理,然后连好接口获取反馈,那翻译的接口我就用的有道了
最后:为了方便,把我得到的反馈直接都写进 txt 文本里,就好啦
结果如下:
![d151b5065f77e4f3ca7994df9ebb2517.png](https://img-blog.csdnimg.cn/img_convert/d151b5065f77e4f3ca7994df9ebb2517.png)
代码附上:
from PyPDF2.pdf import PdfFileReaderimport urllib.requestimport urllib.parseimport jsondef youdao_translate(content): '''有道翻译''' youdao_url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule' data = {} # 调接口时所需参数,看自己情况修改,不改也可调用 data['i'] = content data['from'] = 'AUTO' data['to'] = 'AUTO' data['smartresult'] = 'dict' data['client'] = 'fanyideskweb' data['salt'] = '' data['sign'] = '' data['doctype'] = 'json' data['version'] = '2.1' data['keyfrom'] = 'fanyi.web' data['action'] = 'FY_BY_CLICKBUTTION' data['typoResult'] = 'false' data = urllib.parse.urlencode(data).encode('utf-8') # 发送翻译请求 youdao_response = urllib.request.urlopen(youdao_url, data) # 获得响应 youdao_html = youdao_response.read().decode('utf-8') target = json.loads(youdao_html)# 取出需要的数据 trans = target['translateResult'] ret = '' for i in range(len(trans)): line = '' for j in range(len(trans[i])): line = trans[i][j]['tgt'] ret += line + '' return retdef translate(path, new_path): '''读取pdf内容,并翻译,写入txt文件''' f = open(path, 'rb') # 打开需要读取的pdf pdf = PdfFileReader(f) # 创建实例# 读取每一页pdf并翻译写入txt for i in range(0, pdf.getNumPages()):# 获取pdf文本内容 extractedText = pdf.getPage(i).extractText()# 经测试发现最后一行换行符需丢弃,可采取不同方式,此处仅作参考 content = extractedText.split('')[:-1] content=('').join(content)# 创建并打开txt文件 with open(new_path, 'a+') as f1:# 有道翻译内容 trans = youdao_translate(content)# 写入内容及翻译结果,就直接在txt里可以一段原文一段翻译后的对比着看,编码测试时遇到过错误,建议不要改动代码 f1.write(content.encode('gbk','ignore').decode('gbk','ignore') + '') f1.write(trans.encode('gbk','ignore').decode('gbk','ignore')) f.close()translate('C:甥敳獲XXXX.pdf', 'C:甥敳獲XXXXXX.txt') # 根据自己实际pdf文档路径,及想要生成翻译文档路径对应修改参数即可
这个懒还是没有白偷啦 ~
最新 优选 关注
沪ICP备12049238号 版权所有©上海艺赛旗软件股份有限公司 2011-2018
© 2018 B3log 开源旗下云南链滴科技有限