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

1.有道的翻译

网页: www.youdao.com

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

Fig1

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

Fig2

 

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

Fig3

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

Fig4

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

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

Fig5

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

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

Fig6

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

Fig7

再看看翻译的结果:

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

Fig8

2.python实现英译汉:

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

 1 # -*- coding:utf-8 -*- 
 2 """
 3 Created on Sun May 03 09:36:12 2015  4 
 5 @author: 90Zeng  6 """
 7 
 8 import urllib  9 import json 10 
11 # 注意这里用unicode编码,否则会显示乱码
12 content = input(u"请输入要翻译的内容:") 13 # 网址是Fig6中的 Response URL
14 url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresult=ugc&sessionFrom=http://www.youdao.com/'
15 # 爬下来的数据 data格式是Fig7中的 Form Data
16 data = {} 17 data['type'] = 'AUTO'
18 data['i'] = content 19 data['doctype'] = 'json'
20 data['xmlVersion'] = '1.6'
21 data['keyfrom'] = 'fanyi.web'
22 data['ue'] = 'UTF-8'
23 data['typoResult'] = 'true'
24 
25 # 数据编码
26 data = urllib.urlencode(data) 27 
28 # 按照data的格式从url爬内容
29 response = urllib.urlopen(url, data) 30 # 将爬到的内容读出到变量字符串html,
31 html = response.read() 32 # 将字符串转换成Fig8所示的字典形式
33 target = json.loads(html) 34 # 根据Fig8的格式,取出最终的翻译结果
35 result = target["translateResult"][0][0]['tgt'] 36 
37 # 这里用unicode显示中文,避免乱码
38 print(u"翻译结果:%s" % (target["translateResult"][0][0]['tgt']))

 

运行:

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

 

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

 

你可能感兴趣的:(python学习笔记:"爬虫+有道词典"实现一个简单的英译汉程序)