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解析XML的几种常见方法的介绍
Apr 09 Python
详解Django缓存处理中Vary头部的使用
Jul 24 Python
如何利用Fabric自动化你的任务
Oct 20 Python
Python中如何优雅的合并两个字典(dict)方法示例
Aug 09 Python
python 读入多行数据的实例
Apr 19 Python
浅谈DataFrame和SparkSql取值误区
Jun 09 Python
python3实现磁盘空间监控
Jun 21 Python
在dataframe两列日期相减并且得到具体的月数实例
Jul 03 Python
Python OpenCV利用笔记本摄像头实现人脸检测
Aug 20 Python
TensorFLow 变量命名空间实例
Feb 11 Python
Matplotlib使用字符串代替变量绘制散点图的方法
Feb 17 Python
python 爬取B站原视频的实例代码
Sep 09 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集成环境xampp中apache无法启动问题解决方案
2014/11/18 PHP
php去除html标记的原生函数详解
2015/01/27 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
php用户名的密码加密更安全的方法
2019/06/21 PHP
js控制的回到页面顶端goTop的代码实现
2013/03/20 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
JavaScript知识点总结(十)之this关键字
2016/05/31 Javascript
vue-router 中router-view不能渲染的解决方法
2017/05/23 Javascript
node 利用进程通信实现Cluster共享内存
2017/10/27 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
小程序云开发教程如何使用云函数实现点赞功能
2019/05/18 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
Python获取Linux系统下的本机IP地址代码分享
2014/11/07 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
django将图片上传数据库后在前端显式的方法
2018/05/25 Python
Python使用configparser库读取配置文件
2020/02/22 Python
如何基于python实现不邻接植花
2020/05/01 Python
python 等差数列末项计算方式
2020/05/03 Python
常用UNIX 命令(Linux的常用命令)
2015/12/26 面试题
副总经理工作职责
2013/11/28 职场文书
《冬阳童年骆驼队》教学反思
2014/04/15 职场文书
大学毕业典礼演讲稿
2014/09/09 职场文书
领导干部作风整顿个人剖析材料
2014/10/11 职场文书
村干部群众路线整改措施思想汇报
2014/10/12 职场文书
2014年加油站工作总结
2014/12/04 职场文书
学校施工安全责任书
2015/01/29 职场文书
为自己工作观后感
2015/06/11 职场文书
创业计划书之个人工作室
2019/08/22 职场文书
Python集合的基础操作
2021/11/01 Python
Mysql忘记密码解决方法
2022/02/12 MySQL
 Redis 串行生成顺序编码的方法实现
2022/04/03 Redis
如何开启Apache,Nginx和IIS服务器的GZIP压缩功能
2022/04/29 Servers