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

1.有道的翻译

网页:www.youdao.com

Fig1

Fig2

Fig3

Fig4

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

Fig5

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

Fig6

Fig7

再看看翻译的结果:

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’

时间: 2024-10-12 20:39:08

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

python "爬虫+有道词典"实现一个简单翻译程序

抓包软件使用的是Fiddler4 新版的查询接口 比较负责,引入了salt和sign http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&sessionFrom=http://fanyi.youdao.com/ 这里使用老版本的查询接口 http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule&smartresul

python学习笔记——爬虫的抓取策略

1 深度优先算法 2 广度/宽度优先策略 3 完全二叉树遍历结果 深度优先遍历的结果:[1, 3, 5, 7, 9, 4, 12, 11, 2, 6, 14, 13, 8, 10] 广度优先遍历的结果:[1, 3, 2, 5, 4, 6, 8, 7, 9, 12, 11, 14, 13, 10] 4 实践中怎么来组合爬取策略 (1)一般来说,重要的网页距离入口站点的距离很近: (2)广度/宽度优先有利于多爬虫并行进行合作: (3)可以考虑将深度与广度/宽度相结合的方式来实现抓取的策略:优先考虑广

python学习笔记——爬虫中提取网页中的信息

1 数据类型 网页中的数据类型可分为结构化数据.半结构化数据.非结构化数据三种 1.1 结构化数据 常见的是MySQL,表现为二维形式的数据 1.2 半结构化数据 是结构化数据的一种形式,并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层.因此,它也被称为自描述的结构.常见的半结构数据有HTML,XML和JSON等,实际上是以树或者图的结构来存储的. <person> <name>A</name> &l

ios学习笔记block回调的应用(一个简单的例子)

一.什么是Blocks      Block是一个C级别的语法以及运行时的一个特性,和标准C中的函数(函数指针)类似,但是其运行需要编译器和运行时支持,从ios4.0开始就很好的支持Block. 二.在ios开发中,什么情况下使用Block      Block除了能够定义参数列表.返回类型外,还能够获取被定义时的词法范围内的状态(比如局部变量),并且在一定条件下(比如使用__block变量)能够修改这些状态.此外,这些可修改的状态在相同词法范围内的多个block之间是共享的,即便出了该词法范围

学习笔记(九)Filter 完成一个简单的权限模型 HttpServletWrapper 和 HttpServletResponseWrapper

2. HttpServletWrapper 和 HttpServletResponseWrapper 1). Servlet API 中提供了一个 HttpServletRequestWrapper 类来包装原始的 request 对象,HttpServletRequestWrapper 类实现了 HttpServletRequest 接口中的所有方法, 这些方法的内部实现都是仅仅调用了一下所包装的的 request 对象的对应方法 //包装类实现 ServletRequest 接口. publ

Python学习笔记_Python对象

Python学习笔记_Python对象 Python对象 标准类型 其他内建类型 类型对象和type类型对象 Python的Null对象None 标准类型操作符 对象值的比较 对象身份比较 布尔类型 标准类型的内建函数 typeObj cmpobj1 obj2 strobj reprobj typeobj isinstanceobj 标准类型的分类 存储模型 更新模型 访问模型 不支持的类型 Python学习笔记_Python对象 首先来理解一个通俗的含义,什么是对象?其实对象无论在什么语言里面

python学习笔记之module &amp;&amp; package

个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, __init__.py可以有两种形式, 一种是直接import多个模块,例如 import fibo import abc 另外一种是 __all__ = ["A","B"] python学习笔记之module && package python的mo

python学习笔记目录

人生苦短,我学python学习笔记目录:week1 python入门 week2 python基础week3 python进阶week4 python高阶week5 python数据结构与算法week6 网络编程week7 数据库技术之入门week8 数据库技术之MySQL和redis和mongodbweek9 前端技术之HTML和CSSweek10 前端技术之JavaScript和DOMweek11 前端框架之jQueryweek12 前端框架之bootstrapweek13 网络框架之入门w

OpenCV之Python学习笔记

OpenCV之Python学习笔记 直都在用Python+OpenCV做一些算法的原型.本来想留下发布一些文章的,可是整理一下就有点无奈了,都是写零散不成系统的小片段.现在看 到一本国外的新书<OpenCV Computer Vision with Python>,于是就看一遍,顺便把自己掌握的东西整合一下,写成学习笔记了.更需要的朋友参考. 阅读须知: 本文不是纯粹的译文,只是比较贴近原文的笔记:         请设法购买到出版社出版的书,支持正版. 从书名就能看出来本书是介绍在Pytho