要用到的包

  • Urllib 网络请求
  • Json 解析json数据
  • Hashlib 构造md5加密值
  • Re 正则表达式

代码示例

一个用在汉化项目的代码

  • 通过正则表达式匹配相应要翻译的内容
  • 传入百度翻译api进行翻译
    • api说明
  • 得到翻译结果,构造语句,并写入磁盘
import urllib.request
import urllib.parse
import json
import hashlib
import time, reencoding = 'utf-8' # 编码用utf-8
salt = '666' #随机数
appid = '百度申请的appid'
secret_key = '百度申请的密钥'
# 请求失败码
REQUEST_FAILED = -1# 正则匹配
settings_regex = r"\s*\'.+\'\s*=>\s*.+"def getMD5(content):m2 = hashlib.md5()m2.update(content.encode(encoding))return m2.hexdigest()def getTranslateResponce(url, data):data = urllib.parse.urlencode(data).encode('utf-8')response = urllib.request.urlopen(url, data)return response.read().decode('utf-8')def trans(content):url = 'http://api.fanyi.baidu.com/api/trans/vip/translate'data = {}data['appid'] = appiddata['salt'] = saltdata['from'] = 'en'data['to'] = 'zh'data['q'] = contentdata['sign'] = getMD5(appid + content + salt + secret_key)html = getTranslateResponce(url, data)target = json.loads(html)while target.get('error_code', REQUEST_FAILED) != REQUEST_FAILED:# print('本次请求失败,原因为:',target['error_msg'])time.sleep(1)html = getTranslateResponce(url, data)target = json.loads(html)# print(target)return target['trans_result'][0]['dst']def translate():file = open('en.php', 'r')output = open('cn.php', 'w')for line in file.readlines():# print(line)if re.match(settings_regex, line):result = re.search(r"\'[^=]+\'", line)# original_text 待翻译文本original_text = result.group()translated_text = trans(original_text).lower()translated_text = translated_text.replace('”', '')translated_text = translated_text.replace('“', '')if translated_text[0] != "'":translated_text = "'" + translated_textif translated_text[-1] != "'":translated_text = translated_text + "'"# print(translated_text)# print(original_text,' => ',translated_text)line = "    " + original_text + " => " + translated_text + ",\n"line = line.replace('"', "'")output.write(line)output.flush()print("写入:" + line, end='')file.close()output.close()if __name__ == '__main__':# translate()text = trans('huawei')print(text)

使用python调用百度翻译api进行翻译相关推荐

  1. python 调用Google Translate API进行翻译

    调用Google 翻译API进行翻译 #!/usr/bin/python #coding: UTF-8 import sys reload(sys) sys.setdefaultencoding('u ...

  2. python调用百度地图API爬取西安市POI数据

    任务前提 做该项目之前,首先得有基础知识: 编程语言:python 编译工具:PyCharm 网络爬虫相关知识,xpath库,numpy,pandas等库. 任务准备: 去百度地图开放平台申请密匙:h ...

  3. Python调用百度地图api路径查询

    通过调用百度地图api获取两个地点的距离和时间.参数详见百度地图api官方文档. # -*- coding: utf-8 -*- """ Created on Thu M ...

  4. python 调用百度地图api 实现批量经纬度转换为实际省市地点(api调用,json解析,mysql读取与写入)

    1.获取秘钥 调用百度地图API实现得申请百度账号或者登陆百度账号,然后申请自己的ak秘钥.链接如下:添加链接描述 下面是百度创建的app设置: 2.调用API将经纬度信息解析成json信息 def ...

  5. [Python]调用百度地图API对地点进行搜索,利用 JSON 返回纬度/行政区域编号

    1.创建百度API应用 类似爬虫程序,在百度地图API进行注册 在此处点击控制台,在应用管理------我的应用处 创建自己的应用. 创建应用如图所示,在请求校验方式处选择sn校验方式 记住自己的AK ...

  6. Python使用百度通用API进行翻译

    想汉化StarUML这个软件,感觉工作量太大,想要用Python自动翻译. 结果网上找的一个个用不了,或者用一会儿就断. 于是自己手写了一个简单的,只有两个类:APIConfig和Translater ...

  7. python调用百度地图API批量查询全国高速收费站点经纬度

    写在前面 大家好,我是饭都吃不起的南南 昨天帮朋友爬了全国的高速站点收费站这里下载 [http://www.bestunion.cn/gaosu/p_4/sfzlist.html] 由于该网站并没有西 ...

  8. python调用百度地图API 实现单点沿线轨迹运动

    百度地图API 可以做很多好玩的事情,自己闲来无事,先是照着一些资料做了热力图,然后借助pyqt5做了一个简单的界面,实现gps单点沿线(行车)的轨迹. 先上程序界面和效果图: 过程:1. 申请百度地 ...

  9. python调用google translate API(谷歌翻译) 的使用方法-手动构造HTTP 请求模式

    这个页面中手动的填写请求参数之后,包括目标语言,源语言,输入的字符,目标格式等,可以得到翻译输出,如下图所示: 可以看到本质上是向服务器发起一个post请求,然后服务器在response中将翻译结果返 ...

  10. 有这个OCR程序,不用再买VIP了,Python 调用百度OCR API

    最近学习,很多东西都是视频,截图后,又想做成文档保存起来. 刚开始不多,打一下字就很快解决了. 随着时间的推移,现在越来越多的图了,管理起来确实不方便,打字有时也不能很快的解决. 所以就弄了个OCR. ...

最新文章

  1. linux性能分析资源推荐(重要)
  2. stm32的dma缓冲区长度,,存放数据数组会不会冲掉
  3. HDFS常用端口及参数释义
  4. vue给input file绑定函数获取当前上传的对象
  5. Copy-On-Write COW机制
  6. Linux程序设计-7-复习重点
  7. 新版三证合一营业执照组织机构代码是哪9位及统一社会信用代码怎么获取9位全国企业组织机构代码查询入口
  8. 微博简单的免登陆获取
  9. CentOS7安装oh-my-zsh(github start Top 10)
  10. CVPR2019| 中科院VIPL实验室11篇CVPR解读:弱监督学习、视频分割、目标检测
  11. 富格林金业:贵金属投资的优势体现在哪里
  12. CrackMe160 学习笔记 之 044
  13. 加州大学圣地亚哥分校计算机科学排名,加州大学圣地亚哥分校UCSD计算机科学Computer Science专业排名第37位(2021年THE世界大学商科排名)...
  14. 求助大佬,python类的问题
  15. 飞控中加速度计数据fft分析
  16. 立象Argox A-50 打印机驱动
  17. 赛门铁克:网络间谍组织Buckeye将攻击目标转至中国香港
  18. 幸福 兴趣 工作 心态
  19. 算法中的基础数学知识(一)—初等数论
  20. 探索神经网络的奥秘:如何优化模型和提高训练速度

热门文章

  1. 装黑苹果卡在苹果图标_虚拟机装MAC系统一直卡在苹果标志
  2. 从.snk文件导出密钥
  3. ddos应急处理_DDOS攻击应急响应预案
  4. python货币转化为资本的前提_Python与《资本论》:生产资本中劳动力 A 与生产资料 Pm 的配比关系...
  5. 微信服务号运营的八大策略
  6. 国产操作系统要起来?自主银河麒麟V10发布!
  7. 万字长文!浏览器是如何工作的:Chrome V8让你更懂JavaScript
  8. 21天学会Java之(Java SE第十二篇):多线程、Lambda表达式
  9. PS 曲线(改变图片不同的色彩效果)
  10. word 参考文献插入整理