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的Django框架与认证系统整合的方法
Jul 24 Python
Python实现将DOC文档转换为PDF的方法
Jul 25 Python
python3大文件解压和基本操作
Dec 15 Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 Python
python中数据爬虫requests库使用方法详解
Feb 11 Python
python使用Plotly绘图工具绘制气泡图
Apr 01 Python
基于Python安装pyecharts所遇的问题及解决方法
Aug 12 Python
Python opencv相机标定实现原理及步骤详解
Apr 09 Python
解决Keras TensorFlow 混编中 trainable=False设置无效问题
Jun 28 Python
python实现最短路径的实例方法
Jul 19 Python
python将图片转为矢量图的方法步骤
Mar 30 Python
python疲劳驾驶困倦低头检测功能的实现
Apr 04 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
php class类的用法详细总结
2013/10/17 PHP
thinkphp的c方法使用示例
2014/02/24 PHP
PHP批量生成图片缩略图的方法
2015/06/18 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
PHPMailer发送邮件
2016/12/28 PHP
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
2011/07/26 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
Jquery模仿Baidu、Google搜索时自动补充搜索结果提示
2013/12/26 Javascript
js读写json文件实例代码
2014/10/21 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
2015/06/22 Javascript
javascript自动切换焦点控制效果完整实例
2016/02/02 Javascript
jQuery简单创建节点的方法
2016/09/09 Javascript
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
vue.js利用defineProperty实现数据的双向绑定
2017/04/28 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
利用vue和element-ui设置表格内容分页的实例
2018/03/02 Javascript
阿望教你用vue写扫雷小游戏
2020/01/20 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
2020/10/24 Javascript
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
python生成二维码的实例详解
2017/10/29 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
Python3批量生成带logo的二维码方法
2019/06/24 Python
Django框架model模型对象验证实现方法分析
2019/10/02 Python
CSS3实现莲花绽放的动画效果
2020/11/06 HTML / CSS
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
高级方案规划工程师岗位职责
2013/11/29 职场文书
学校对教师的评语
2014/04/28 职场文书
关于护士节的演讲稿
2014/05/26 职场文书
销售提升方案
2014/06/07 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
个人创业事迹材料
2014/12/30 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
Python+Tkinter制作专属图形化界面
2022/04/01 Python