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正规则表达式学习指南
Aug 02 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
python中装饰器级连的使用方法示例
Sep 29 Python
Python使用base64模块进行二进制数据编码详解
Jan 11 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
python 字符串只保留汉字的方法
Nov 16 Python
用python解压分析jar包实例
Jan 16 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Django跨域请求原理及实现代码
Nov 14 Python
python实现发送QQ邮件(可加附件)
Dec 23 Python
Python基础之元组与文件知识总结
May 19 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
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
Smarty模板配置实例简析
2019/07/20 PHP
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
jquery-tips悬浮提示插件分享
2015/07/31 Javascript
基于jquery实现鼠标滚轮驱动的图片切换效果
2015/10/26 Javascript
zTree插件下拉树使用入门教程
2016/04/11 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
JavaScript简单下拉菜单特效
2016/09/13 Javascript
Javascript 调用 ActionScript 的简单方法
2016/09/22 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
JS实现的简单图片切换功能示例【测试可用】
2017/02/14 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
vue组件三大核心概念图文详解
2019/05/30 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
js实现移动端吸顶效果
2020/01/08 Javascript
JS函数参数的传递与同名参数实例分析
2020/03/16 Javascript
Node.js API详解之 V8模块用法实例分析
2020/06/05 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python中if __name__ == "__main__"详细解释
2014/10/21 Python
Python处理文本换行符实例代码
2018/02/03 Python
Python流程控制 if else实现解析
2019/09/02 Python
python 函数中的参数类型
2020/02/11 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
2020/02/26 Python
Django如何使用redis作为缓存
2020/05/21 Python
pandas数据处理之绘图的实现
2020/06/15 Python
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
法国大使拉杆箱官网:DELSEY Paris
2018/03/20 全球购物
世界领先的26岁以下学生和青少年旅行预订网站:StudentUniverse
2018/07/01 全球购物
加拿大拼图大师:Puzzle Master
2020/12/28 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
幼儿园老师辞职信
2014/01/20 职场文书
财务出纳岗位职责
2015/03/31 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python