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访问MySQL封装的常用类实例
Nov 11 Python
Python下载懒人图库JavaScript特效
May 28 Python
Pycharm 操作Django Model的简单运用方法
May 23 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
Django JWT Token RestfulAPI用户认证详解
Jan 23 Python
djang常用查询SQL语句的使用代码
Feb 15 Python
python3实现斐波那契数列(4种方法)
Jul 15 Python
30秒学会30个超实用Python代码片段【收藏版】
Oct 15 Python
Python文件路径名的操作方法
Oct 30 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
Jan 20 Python
python百行代码自制电脑端网速悬浮窗的实现
May 12 Python
python爬虫筛选工作实例讲解
Nov 23 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实现的功能是显示8条基色色带
2006/10/09 PHP
几个学习PHP的网址
2006/11/25 PHP
使用PHP的日期与时间函数技巧
2008/04/24 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
JS基础之undefined与null的区别分析
2011/08/08 Javascript
javascript验证上传文件的类型限制必须为某些格式
2013/11/14 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
2016/07/05 Javascript
原生js实现轮播图
2017/02/27 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
微信小程序自定义组件封装及父子间组件传值的方法
2018/08/28 Javascript
基于Angularjs-router动态改变Title值的问题
2018/08/30 Javascript
vue 表单之通过v-model绑定单选按钮radio
2019/05/13 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
[00:32]2018DOTA2亚洲邀请赛Liquid出场
2018/04/03 DOTA
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
Python wxPython库消息对话框MessageDialog用法示例
2018/09/03 Python
Python分析彩票记录并预测中奖号码过程详解
2019/07/09 Python
Django获取应用下的所有models的例子
2019/08/30 Python
python urllib爬虫模块使用解析
2019/09/05 Python
Python Numpy数组扩展repeat和tile使用实例解析
2019/12/09 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
django queryset相加和筛选教程
2020/05/18 Python
使用opencv中匹配点对的坐标提取方式
2020/06/04 Python
python批量生成条形码的示例
2020/10/10 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
迅雷Cued工作心得体会
2014/01/27 职场文书
领导干部考察材料
2014/02/08 职场文书
管事部库房保管员岗位职责
2014/02/21 职场文书
行政部岗位职责范本
2014/03/13 职场文书
电气自动化求职信
2014/06/24 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
2015年采购员工作总结
2015/04/27 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript