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的几种开发工具介绍
Mar 07 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
Apr 13 Python
python实现感知器算法(批处理)
Jan 18 Python
Python3.5基础之NumPy模块的使用图文与实例详解
Apr 24 Python
使用Python自动生成HTML的方法示例
Aug 06 Python
pytorch 预训练层的使用方法
Aug 20 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
Sep 07 Python
python设置随机种子实例讲解
Sep 12 Python
Python3 虚拟开发环境搭建过程(图文详解)
Jan 06 Python
基于TensorFlow中自定义梯度的2种方式
Feb 04 Python
Python自动化之批量处理工作簿和工作表
Jun 03 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计算两个日期相差天数的方法
2015/03/14 PHP
php cli配置文件问题分析
2015/10/15 PHP
js中switch case循环实例代码
2013/12/30 Javascript
Javascript 按位与赋值运算符 (&=)使用介绍
2014/02/04 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
2014/02/12 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
javascript实现博客园页面右下角返回顶部按钮
2015/02/22 Javascript
ui组件之input多选下拉实现方法(带有搜索功能)
2016/07/14 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
Bootstrap组合上、下拉框简单实现代码
2017/03/06 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
jquery.pager.js实现分页效果
2019/07/29 jQuery
简单实现节流函数和防抖函数过程解析
2019/10/08 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
python爬取个性签名的方法
2018/06/17 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
Python实现网站表单提交和模板
2019/01/15 Python
Python range、enumerate和zip函数用法详解
2019/09/11 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
python根据字典的键来删除元素的方法
2020/08/16 Python
用python进行视频剪辑
2020/11/02 Python
咖啡馆创业计划书
2014/01/26 职场文书
应届毕业生如何写求职信
2014/02/16 职场文书
寒假家长评语大全
2014/04/16 职场文书
课程设计的心得体会
2014/09/03 职场文书
政风行风评议心得体会
2014/10/21 职场文书
2014年妇联工作总结
2014/11/21 职场文书
早安问候语大全
2015/11/10 职场文书
2016校本研修培训心得体会
2016/01/08 职场文书
如何在Mac上通过docker配置PHP开发环境
2021/05/29 PHP
vue项目支付功能代码详解
2022/02/18 Vue.js
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫