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实现正则检测密码合法性
Jan 05 Python
浅谈Python中用datetime包进行对时间的一些操作
Jun 23 Python
Python单例模式实例详解
Mar 01 Python
Django如何自定义分页
Sep 25 Python
Python pickle模块实现对象序列化
Nov 22 Python
pytorch 批次遍历数据集打印数据的例子
Dec 30 Python
基于pytorch 预训练的词向量用法详解
Jan 06 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
如何基于windows实现python定时爬虫
May 01 Python
matplotlib图例legend语法及设置的方法
Jul 28 Python
详解Python 中的 defaultdict 数据类型
Feb 22 Python
一行Python命令实现批量加水印
Apr 07 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函数
2011/05/31 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
2016/05/06 PHP
YII框架常用技巧总结
2019/04/27 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
jQuery点击tr实现checkbox选中的方法
2013/03/19 Javascript
JS Date函数整理方便使用
2013/10/23 Javascript
JQuery中的html()、text()、val()区别示例介绍
2014/09/01 Javascript
Javascript数组与字典用法分析
2014/12/13 Javascript
JS控制表单提交的方法
2015/07/09 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
JavaScript正则获取地址栏中参数的方法
2017/03/02 Javascript
微信小程序 判断手机号的实现代码
2017/04/19 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
js实现图片懒加载效果
2017/07/17 Javascript
Vue编写多地区选择组件
2017/08/21 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
深入理解vue中slot与slot-scope的具体使用
2018/01/26 Javascript
vue实现城市列表选择功能
2018/07/16 Javascript
微信小程序实现的日期午别医生排班表功能示例
2019/01/09 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
[55:42]VG vs VGJ.T 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
Python语言技巧之三元运算符使用介绍
2013/03/04 Python
python字符串,数值计算
2016/10/05 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
Python设计模式之适配器模式原理与用法详解
2019/01/15 Python
Python中zip()函数的解释和可视化(实例详解)
2020/02/16 Python
css3学习心得分享
2013/08/19 HTML / CSS
企业车辆管理制度
2014/01/24 职场文书
公司联欢会策划方案
2014/05/19 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
演讲稿之我的初心我的成长
2019/08/12 职场文书
TS 类型收窄教程示例详解
2022/09/23 Javascript