Python实现句子翻译功能


Posted in Python onNovember 14, 2017

初入Python,一开始就被她简介的语法所吸引,代码简洁优雅,之前在C#里面打开文件写入文件等操作相比Python复杂多了,而Python打开、修改和保存文件显得简单得多。

1、打开文件的例子:

file=open('D:\\Python\\untitled\\Hello.txt','r',encoding='utf-8')
 data=file.read()
 print(data)
 file.close()

2、利用urllib库请求页面进行简单的翻译,请求百度翻译,将要翻译的内容当做参数传给百度,然后将结果赋值给参数,最后打印出来:

上代码:

import urllib.request
import urllib.parse
import json

content=input("=====请输入您要翻译的内容:=====\n")

url='http://fanyi.baidu.com/v2transapi'
data={}
data['from']='zh'
data['to']='en'
data['transtype']='translang'
data['simple_means_flag']='3'
data['query']=content
data=urllib.parse.urlencode(data).encode('utf-8')
response=urllib.request.urlopen(url,data)
html=response.read().decode('utf-8')
target=json.loads(html)
print("翻译结果为:%s"%(target['trans_result']['data'][0]['dst']))

实现效果如图:

Python实现句子翻译功能

实现代码很简单,下面再分享下urllib库的一些用法。

urlopen 语法

urllib.request.urlopen(url,data=None,[timeout,]*,cafile=None,capath=None,cadefault=False,context=None)
#url:访问的网址
#data:额外的数据,如header,form data

用法

# request:GET
import urllib.request
response = urllib.request.urlopen('http://www.baidu.com')
print(response.read().decode('utf-8'))

# request: POST
# http测试:http://httpbin.org/
import urllib.parse
import urllib.request
data = bytes(urllib.parse.urlencode({'word':'hello'}),encoding='utf8')
response = urllib.request.urlopen('http://httpbin.org/post',data=data)
print(response.read())

# 超时设置
import urllib.request
response = urllib.request.urlopen('http://httpbin.org/get',timeout=1)
print(response.read())

import socket
import urllib.request
import urllib.error

try:
  response = urllib.request.urlopen('http://httpbin.org/get',timeout=0.1)
except urllib.error.URLError as e:
  if isinstance(e.reason,socket.timeout):
    print('TIME OUT')

响应

# 响应类型
import urllib.open
response = urllib.request.urlopen('https:///www.python.org')
print(type(response))
# 状态码, 响应头
import urllib.request
response = urllib.request.urlopen('https://www.python.org')
print(response.status)
print(response.getheaders())
print(response.getheader('Server'))

Request

声明一个request对象,该对象可以包括header等信息,然后用urlopen打开。

# 简单例子
import urllib.request
request = urllib.request.Requests('https://python.org')
response = urllib.request.urlopen(request)
print(response.read().decode('utf-8'))

# 增加header
from urllib import request, parse
url = 'http://httpbin.org/post'
headers = {
  'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36'
  'Host':'httpbin.org'
}
# 构造POST表格
dict = {
  'name':'Germey'
}
data = bytes(parse.urlencode(dict),encoding='utf8')
req = request.Request(url=url,data=data,headers=headers,method='POST')
response = request.urlopen(req)
print(response.read()).decode('utf-8')
# 或者随后增加header
from urllib import request, parse
url = 'http://httpbin.org/post'
dict = {
  'name':'Germey'
}
req = request.Request(url=url,data=data,method='POST')
req.add_hader('User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36')
response = request.urlopen(req)
print(response.read().decode('utf-8'))

总结

以上就是本文关于Python实现句子翻译功能的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站:

如有不足之处,欢迎留言指出。

Python 相关文章推荐
Python实现的批量下载RFC文档
Mar 10 Python
Python中List.count()方法的使用教程
May 20 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
Python编程实现及时获取新邮件的方法示例
Aug 10 Python
将python代码和注释分离的方法
Apr 21 Python
使用python爬取B站千万级数据
Jun 08 Python
Sanic框架基于类的视图用法示例
Jul 18 Python
对pycharm 修改程序运行所需内存详解
Dec 03 Python
python 根据时间来生成唯一的字符串方法
Jan 14 Python
python isinstance函数用法详解
Feb 13 Python
解决pycharm 格式报错tabs和space不一致问题
Feb 26 Python
Python获取百度热搜的完整代码
Apr 07 Python
简述:我为什么选择Python而不是Matlab和R语言
Nov 14 #Python
Python与R语言的简要对比
Nov 14 #Python
Python基础语言学习笔记总结(精华)
Nov 14 #Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
Nov 14 #Python
python中os和sys模块的区别与常用方法总结
Nov 14 #Python
Python 将RGB图像转换为Pytho灰度图像的实例
Nov 14 #Python
人机交互程序 python实现人机对话
Nov 14 #Python
You might like
一个odbc连mssql分页的类
2006/10/09 PHP
php调用新浪短链接API的方法
2014/11/08 PHP
PHP后门隐藏的一些技巧总结
2020/11/04 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
JS获取各种宽度、高度的简单介绍
2014/12/19 Javascript
js实现网页收藏功能
2015/12/17 Javascript
实例详解ECMAScript5中新增的Array方法
2016/04/05 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
Bootstrap的modal拖动效果
2016/12/25 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
nodejs6下使用koa2框架实例
2017/05/18 NodeJs
JavaScript输出所选择起始与结束日期的方法
2017/07/12 Javascript
vue-cli webpack模板项目搭建及打包时路径问题的解决方法
2018/02/26 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
JS实现li标签的删除
2019/04/12 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
[01:02:00]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第三场 1月24日
2021/03/11 DOTA
Python实现合并excel表格的方法分析
2019/04/13 Python
详解pandas使用drop_duplicates去除DataFrame重复项参数
2019/08/01 Python
python tkinter组件摆放方式详解
2019/09/16 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
完美解决keras保存好的model不能成功加载问题
2020/06/11 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
Python爬取网站图片并保存的实现示例
2021/02/26 Python
Casetify官网:自制专属手机壳、iPad护壳和Apple Watch手表带
2018/05/09 全球购物
美国单身专业人士在线约会网站:EliteSingles
2019/03/19 全球购物
教师节促销活动方案
2014/02/14 职场文书
优秀教师工作感言
2014/02/16 职场文书
党支部换届选举方案
2014/05/08 职场文书
2015年人民调解工作总结
2015/05/18 职场文书
隐形的翅膀观后感
2015/06/10 职场文书
大学生社会服务心得体会
2016/01/22 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书