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 相关文章推荐
离线安装Pyecharts的步骤以及依赖包流程
Apr 23 Python
python分布式环境下的限流器的示例
Oct 26 Python
Sanic框架请求与响应实例分析
Jul 16 Python
django之自定义软删除Model的方法
Aug 14 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
python 解决cv2绘制中文乱码问题
Dec 23 Python
django实现更改数据库某个字段以及字段段内数据
Mar 31 Python
如何使用 Python 读取文件和照片的创建日期
Sep 05 Python
python如何绘制疫情图
Sep 16 Python
Pytorch 图像变换函数集合小结
Feb 01 Python
tensorboard 可视化之localhost:6006不显示的解决方案
May 22 Python
Python下载商品数据并连接数据库且保存数据
Mar 31 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检测图片木马多进制编程实践
2013/04/11 PHP
php中判断数组是一维,二维,还是多维的解决方法
2013/05/04 PHP
PHP实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
php简单判断文本编码的方法
2015/07/30 PHP
64位windows系统下安装Memcache缓存
2015/12/06 PHP
PHP会员找回密码功能的简单实现
2016/09/05 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
thinkPHP框架动态配置用法实例分析
2018/06/14 PHP
Javascript string 扩展库代码
2010/04/09 Javascript
javascript中负数算术右移、逻辑右移的奥秘探索
2013/10/17 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
一个css与js结合的下拉菜单支持主流浏览器
2014/10/08 Javascript
JS实现可自定义大小,可双击关闭的弹出层效果
2015/10/16 Javascript
jQuery validate插件submitHandler提交导致死循环解决方法
2016/01/21 Javascript
JS动态创建元素的两种方法
2016/04/20 Javascript
新手学习前端之js模仿淘宝主页网站
2016/10/31 Javascript
jQuery插件HighCharts实现的2D条状图效果示例【附demo源码下载】
2017/03/15 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
详解webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
2017/06/20 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
2018/12/04 Javascript
详解微信小程序的不同函数调用的几种方法
2019/05/08 Javascript
webpack中的模式(mode)使用详解
2020/02/20 Javascript
[48:46]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第二场 11.19
2020/11/19 DOTA
Tensorflow 自定义loss的情况下初始化部分变量方式
2020/01/06 Python
Python2手动安装更新pip过程实例解析
2020/07/16 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
合作经营协议书
2014/04/17 职场文书
党支部综合考察材料
2014/05/19 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
公司新员工欢迎词
2015/09/30 职场文书
2015年党务工作者个人工作总结
2015/10/22 职场文书
Android Rxjava3 使用场景详解
2022/04/07 Java/Android