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中实现指定时间调用函数示例代码
Sep 08 Python
详解K-means算法在Python中的实现
Dec 05 Python
python 实现数组list 添加、修改、删除的方法
Apr 04 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
Oct 21 Python
深入浅析Python中的迭代器
Jun 04 Python
用pytorch的nn.Module构造简单全链接层实例
Jan 14 Python
Python Selenium 设置元素等待的三种方式
Mar 18 Python
python 如何快速复制序列
Sep 07 Python
Python Pillow(PIL)库的用法详解
Sep 19 Python
python 爬虫如何正确的使用cookie
Oct 27 Python
你喜欢篮球吗?Python实现篮球游戏
Jun 11 Python
Python3.10的一些新特性原理分析
Sep 15 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连接mysql数据库代码
2009/03/10 PHP
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
PHP获取数组的键与值方法小结
2015/06/13 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
Joomla简单判断用户是否登录的方法
2016/05/04 PHP
jquery实现动态操作select选中
2015/02/11 Javascript
通过设置CSS中的position属性来固定层的位置
2015/12/14 Javascript
JQuery实现的按钮倒计时效果
2015/12/23 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
ajax的分页查询示例(不刷新页面)
2017/01/11 Javascript
jQuery插件HighCharts绘制2D圆环图效果示例【附demo源码下载】
2017/03/09 Javascript
vue自定义移动端touch事件之点击、滑动、长按事件
2018/07/10 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
使用Python写一个贪吃蛇游戏实例代码
2017/08/21 Python
python图像常规操作
2017/11/11 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
Django 中间键和上下文处理器的使用
2019/03/17 Python
python输出决策树图形的例子
2019/08/09 Python
深入浅析Python 中的sklearn模型选择
2019/10/12 Python
Python遍历字典方式就实例详解
2019/12/28 Python
Python使用Paramiko控制liunx第三方库
2020/05/20 Python
python读取hdfs上的parquet文件方式
2020/06/06 Python
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
2014/06/23 HTML / CSS
新西兰演唱会和体育门票网站:Ticketmaster新西兰
2017/10/07 全球购物
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
如何找出EMP表里面SALARY第N高的employee
2013/12/05 面试题
高一物理教学反思
2014/01/24 职场文书
优秀技术工人先进材料
2014/02/17 职场文书
教师党员岗位承诺书
2014/05/29 职场文书
学生打架检讨书
2014/10/20 职场文书
巴黎圣母院观后感
2015/06/10 职场文书
导游词之宁夏贺兰山岩画
2019/11/08 职场文书
动画《新网球王子 U-17 WORLD CUP》希腊队PV公开
2022/04/02 日漫
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers