您所在的位置:小祥子 » 编程 » Python » 正文

python学习笔记:"爬虫+有道词典"实现一个简单的英译汉程序

时间:2015-05-04 编辑:90Zeng 来源:本站整理

1.有道的翻译

Fig1

Fig2

Fig3

Fig4

再次点击"自动翻译"->选中'Network'->选中'第一项',如下:

Fig5

然后显示出如下内容,红框画出的部分是等会编写代码需要的地方:

Fig6

Fig7

再看看翻译的结果:

Fig8

2.python实现英译汉:

原理:把需要翻译的内容输入给有道词典,然后通过程序把翻译的结果爬下来。

 # -*- coding:utf-8 -*-  
 """
 Created on Sun May 03 09:36:12 2015
 
 @author: ZengJiulin
 """
 
 import urllib
 import JSon
 
 # 注意这里用unicode编码,否则会显示乱码
 content = input(u"请输入要翻译的内容:")
 # 网址是Fig6中的 Response URL
 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'
 # 爬下来的数据 data格式是Fig7中的 Form Data
 data = {}
 data['type'] = 'AUTO'
 data['i'] = content
 data['doctype'] = 'json'
 data['xmlVersion'] = '1.6'
 data['keyfrom'] = 'fanyi.web'
 data['ue'] = 'UTF-8'
 data['typoResult'] = 'true'
 
 # 数据编码
 data = urllib.urlencode(data)
 
 # 按照data的格式从url爬内容
 response = urllib.urlopen(url, data)
 # 将爬到的内容读出到变量字符串html,
 html = response.read()
 # 将字符串转换成Fig8所示的字典形式
 target = json.loads(html)
 # 根据Fig8的格式,取出最终的翻译结果
 result = target["translateResult"][0][0]['tgt']
 
 # 这里用unicode显示中文,避免乱码
 print(u"翻译结果:%s" % (target["translateResult"][0][0]['tgt']))

运行:


学习资料来源:小甲鱼的视频‘零基础入门python’

关键词:学习 笔记 简单