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']))
实现效果如图:
实现代码很简单,下面再分享下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