相信大家在日常学习或者是阅读英文文章的过程中,难免会出现几个不认识的单词,或者想快速翻译某段英文的意思。

今天,利用Python爬虫等知识,教大家打造一个微信下的翻译小助手。好吧,开始干活。

先来看看效果如何

发送要翻译的内容给我们的翻译小助手,它会自动回复翻译好的内容。

环境配置:

Python版本:3.6.0

系统平台:Windows 10 X64

IDE:pycharm

相关模块:

json模块

itchat模块

re模块

request模块

parse模块

以及一些Python自带的模块。

根据内容获取翻译的结果

这里使用的是有道翻译API接口。大致思路说一下:

1. 创建连接接口 2. 创建要提交的数据 3. 将数据转化为服务器可以处理的信息并提交

4. 返回翻译结果

这部分功能我们封装成一个函数,参数是需要发送的微信用户名,需要翻译的内容。

数据格式我们是以json的格式发送过去的,然后获取的也是json的数据格式,该过程需要做些转换。

还需要把数据转换成utf-8的编码,回来的数据也需要做相应的转换和解析,具体看下面代码:

1def translate(userName, content):

2 req_url = 'http://fanyi.youdao.com/translate' # 创建连接接口

3 # 创建要提交的数据

4 Form_Date = {}

5 Form_Date['i'] = content # 输入要翻译的内容

6 Form_Date['doctype'] = 'json'

7

8 data = parse.urlencode(Form_Date).encode('utf-8') # 数据转换

9 response = request.urlopen(req_url, data) # 提交数据并解析

10 html = response.read().decode('utf-8') # 服务器返回结果读取

11 # 可以看出html是一个json格式

12 translate_results = json.loads(html) # 以json格式载入

13 translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式调取

14 print(translate_results) # 输出结果

15

16 itchat.send(translate_results, toUserName=userName) #发送翻译结果

不了解的同学在仔细看看代码注释。

微信收发送消息

关于微信收发送消息呢,可以看看之前Python打造天气预报机器这一篇文章,代码是直接从那边稍加修改搬过来的。

那边是获取天气,这边是获取翻译结果,思路都是一样的。直接看代码就可以了:

1# 如果对方发的是文字,则我们给对方回复以下的东西

2@itchat.msg_register([TEXT])

3def text_reply(msg):

4 match = re.search('翻译',msg['Text'])

5 if match:

6 content = msg['Text'][msg['Text'].find("+")+1:]

7 translate(msg['FromUserName'], content)

8

9

10itchat.auto_login()

11itchat.run()

我们需要对消息进行匹配分析,以便确定用户需要的是翻译功能而不是天气预报等功能,所以需要利用re进行匹配一下关键字。

然后调用translate函数进行获取发送。

完整代码:

1# 有道翻译结果获取

2

3'''

4大致思路如下:

5

61. 创建连接接口

7

82. 创建要提交的数据

9

103. 将数据转化为服务器可以处理的信息并提交

11

124. 返回翻译结果

13'''

14

15# 引入python中内置的包json. 用来解析和生成json数据的

16import json

17import itchat

18import re

19from itchat.content import *

20

21from urllib import request, parse

22

23def translate(userName, content):

24 req_url = 'http://fanyi.youdao.com/translate' # 创建连接接口

25 # 创建要提交的数据

26 Form_Date = {}

27 Form_Date['i'] = content # 输入要翻译的内容

28 Form_Date['doctype'] = 'json'

29

30 data = parse.urlencode(Form_Date).encode('utf-8') # 数据转换

31 response = request.urlopen(req_url, data) # 提交数据并解析

32 html = response.read().decode('utf-8') # 服务器返回结果读取

33 # 可以看出html是一个json格式

34 translate_results = json.loads(html) # 以json格式载入

35 translate_results = translate_results['translateResult'][0][0]['tgt'] # json格式调取

36 print(translate_results) # 输出结果

37

38 itchat.send(translate_results, toUserName=userName) #发送翻译结果

39

40

41# 如果对方发的是文字,则我们给对方回复以下的东西

42@itchat.msg_register([TEXT])

43def text_reply(msg):

44 match = re.search('翻译',msg['Text'])

45 if match:

46 content = msg['Text'][msg['Text'].find("+")+1:]

47 translate(msg['FromUserName'], content)

48

49

50itchat.auto_login()

51itchat.run()

python的界面文字翻译_教你用Python实现微信翻译机器人相关推荐

  1. python画动态爱心代码_教你用python画动态爱心表白

    原标题:教你用python画动态爱心表白 初级画心 学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆: 于是这就很简单了,十行代码解决: import tu ...

  2. 使用python 处理表格生成图表_教你用Python自动读取数据生成图表,产生的效益很可观...

    厌烦了每次都要在Excel里拖动数据来生成图形吧,这篇文章里,教你用Python自动读取Excel数据生成图表,然后Python 使用XlsxWriter模块在Excel工作表中绘制带有数据表的柱形图 ...

  3. python利用自动识别写模块_教你用Python 实现自动导入缺失的库

    在写 Python 项目的时候,我们可能经常会遇到导入模块失败的错误:ImportError: No module named 'xxx' 或者 ModuleNotFoundError: No mod ...

  4. python爬取并翻译_教大家用python爬取百度翻译,超简单-Go语言中文社区

    一,首先导入urllib里面的request和parse:这里导入parse主要字符转码 from urllib import request,parse 二,爬取别人的网站最好加入伪装,也就是浏览器 ...

  5. python图形界面设计代码_(八)Python 图形化界面设计

    3.1.文本输入和输出相关控件:文本的输入与输出控件通常包括:标签(Label).消息(Message).输入框(Entry).文本框(Text).他们除了前述共同属性外,都具有一些特征属性和功能. ...

  6. python设计拼图小游戏_教你用Python自制拼图小游戏,轻松搞定熊孩子

    摘要:本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyth ...

  7. python我的所得税计算器_教你使用Python实现新个税计算器

    自从采用新个税计算方法后,每个月发工资你是否真的清楚扣多少税? 今天跟大家分享下如何计算,希望大家喜欢. 计税方法科普 个税方法 这里需要知道的知识点: 1.个税起征点调到 5000; 2.累积预扣法 ...

  8. 用python做视觉检测系统_教你用 Python 做一个物体检测系统

    在本文中,我们将了解物体检测技术是什么以及可以用来解决此领域问题的几种不同方法,接着深入研究在Python中如何构建我们自己的对象检测系统.在本文结束时,您将拥有足够的知识来独自迎接不同的物体检测挑战 ...

  9. 怎么python画好几朵玫瑰花_教你使用python画一朵花送女朋友

    本文实例为大家分享了用python画一朵花的具体代码,供大家参考,具体内容如下 第一种,画法 from turtle import * import time setup(600,800,0,0) s ...

最新文章

  1. java 图片不更新,图片下传页面不能及时更新,求解
  2. 一天搞定HTML----a标签02
  3. CONTEST199 [有奖]洛谷8月月赛题解
  4. PWN-PRACTICE-BUUCTF-2
  5. 【未来已来】百度老板李彦宏:人工智能是下一道主菜
  6. [Luogu P2387] [NOI2014]魔法森林 (LCT维护边权)
  7. CentOS操作系统keepalived安装步骤
  8. 陈纪修老师《数学分析》 第07章:定积分 笔记
  9. MAC IDEA 常用快捷键
  10. HTML+CSS+JS实现 ❤️3D旋转魔方图片相册特效❤️
  11. 【经验总结—1】:研究僧常用文献搜索网站和下载方法
  12. 2021年安全生产模拟考试(全国特种作业操作证焊工作业-熔化焊接与热切割模拟考试题库一)
  13. Codeforces-1487 D. Pythagorean Triples(数学)
  14. Java程序员的春天!java第三方线程池
  15. 最本质的相机内参intrinsics与外参extrinsics分析,从建模,推导到求解
  16. html页面高度不同浏览器兼容性设置
  17. 程序界的高手传奇(转)
  18. sql语句-按照汉字拼音首字母排序
  19. 阿里云服务器镜像操作系统如何选择?阿里云镜像注意事项
  20. win10下完美卸载ubuntu

热门文章

  1. android mapping文件 路径,Android打包代码混淆后的Mapping文件路径
  2. 谷歌地球倾斜模型3Dtiles格式cesium格式一键导入查看
  3. 最近在做文本匹配,想到了特征值的算法,自己写了一个文本计算算法。求批判。...
  4. 犹他大学计算机科学毕业,犹他大学计算机科学理学硕士研究生申请要求及申请材料要求清单...
  5. 2014各大互联网前端面试题总结
  6. springboot返回404错误页面
  7. SharePoint 2013 自定义扩展菜单
  8. web前端html实例-Html5实现的语音搜索功能
  9. 浮点数二分模板---yxc
  10. AWS免费套餐避坑攻略:查看账户下所有region的资源,及时关停不需要的服务