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图片验证码生成代码
Jul 02 Python
Python中防止sql注入的方法详解
Feb 25 Python
Python实现查看系统启动项功能示例
May 10 Python
Windows系统下PhantomJS的安装和基本用法
Oct 21 Python
python生成九宫格图片
Nov 19 Python
为何人工智能(AI)首选Python?读完这篇文章你就知道了(推荐)
Apr 06 Python
python实现按首字母分类查找功能
Oct 31 Python
opencv3/C++实现视频读取、视频写入
Dec 11 Python
TensorFlow tensor的拼接实例
Jan 19 Python
Python3.7下安装pyqt5的方法步骤(图文)
May 12 Python
Python 爬虫批量爬取网页图片保存到本地的实现代码
Dec 24 Python
scrapy-splash简单使用详解
Feb 21 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下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
让FireFox支持innerText的实现代码
2009/12/01 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
js中reverse函数的用法详解
2013/12/26 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
JS非Alert实现网页右下角“未读信息”效果弹窗
2015/09/26 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
ionic进入多级目录后隐藏底部导航栏(tabs)的完美解决方案
2016/11/23 Javascript
原生JavaScript实现Ajax异步请求
2017/11/19 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
canvas轨迹回放功能实现
2017/12/20 Javascript
vue-cli下的vuex的简单Demo图解(实现加1减1操作)
2018/02/26 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
Layui tree 下拉菜单树的实例代码
2019/09/21 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
2020/03/12 jQuery
[01:35]2018年度CS GO最佳战队-完美盛典
2018/12/17 DOTA
利用python实现简单的循环购物车功能示例代码
2017/07/05 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
Python浮点数四舍五入问题的分析与解决方法
2019/11/19 Python
如何通过python实现人脸识别验证
2020/01/17 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
iPython pylab模式启动方式
2020/04/24 Python
css3 pointer-events 介绍详解
2017/09/18 HTML / CSS
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
中学运动会广播稿
2014/01/19 职场文书
铲车司机岗位职责
2014/03/15 职场文书
房产转让协议书(2014版)
2014/09/30 职场文书
师范生见习报告范文
2014/11/03 职场文书
2014年纳税评估工作总结
2014/12/23 职场文书