Python实现句子翻译功能

作者:HelloJquery 时间:2023-11-20 20:07:28 

初入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+opencv实现的简单人脸识别代码示例

Python编程实现蚁群算法详解

python实现图片处理和特征提取详解

如有不足之处,欢迎留言指出。

来源:http://www.cnblogs.com/wmy-blog/p/7828311.html

标签:python,urllib库
0
投稿

猜你喜欢

  • python如何爬取个性签名

    2021-03-29 03:34:04
  • python的类方法和静态方法

    2021-04-14 21:05:22
  • IBatis.net连接MySql 问题与故障的解决方案

    2011-06-02 09:38:00
  • c#连接sqlserver数据库、插入数据、从数据库获取时间示例

    2024-01-16 02:13:53
  • 一文带你安装opencv与常用库(保姆级教程)

    2021-03-11 12:21:19
  • 详解golang 模板(template)的常用基本语法

    2024-04-23 09:45:48
  • Python对字符串实现去重操作的方法示例

    2021-12-12 11:46:37
  • Vue使用Less与Scss实现主题切换方法详细讲解

    2024-04-27 15:48:13
  • Python爬虫模拟登录带验证码网站

    2022-02-18 21:33:48
  • Python实现动态二维码生成的示例代码

    2022-08-03 15:45:39
  • sql动态行转列的两种方法

    2024-01-24 07:17:41
  • 教程:打造SQL Server2000的安全策略

    2008-12-23 15:52:00
  • python之import机制详解

    2022-11-29 02:47:40
  • Smush it - 一款图片压缩的Firefox插件,很好,很强大!

    2009-04-12 20:09:00
  • python如何通过实例方法名字调用方法

    2021-04-24 09:00:31
  • Python异常模块traceback用法实例分析

    2022-07-22 15:47:14
  • SQL Server分页方法汇总

    2024-01-26 20:18:49
  • python3+PyQt5实现自定义窗口部件Counters

    2021-05-21 10:47:47
  • Mysql数据库表中为什么有索引却没有提高查询速度

    2024-01-13 19:25:16
  • Python时间和字符串转换操作实例分析

    2023-04-15 22:58:08
  • asp之家 网络编程 m.aspxhome.com