PythonUrllib模块三十行代码编写自己的英语翻译器,随用随翻

时间:2022-10-09 17:41:37 | 浏览:4739

今天运用的是Urllib模块urllib是基于http的高层库,它有以下三个主要功能:request处理客户端的请求response处理服务端的响应parse会解析url下面我们来说的是request函数urllib.request模块定义

今天运用的是Urllib模块

  • urllib是基于http的高层库,它有以下三个主要功能:

  1. request处理客户端的请求

  2. response处理服务端的响应

  3. parse会解析url

下面我们来说的是request函数

urllib.request模块定义了一些打开URLs(一般是HTTP协议)复杂操作像是basic和摘要模式认证,重定向,cookies等的方法和类。这个模块式模拟文件模块实现的,将本地的文件路径改为远程的url。因此函数返回的是类文件对象(file-like object)

  • 运用方法

urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)

url可以是一个字符串形式或者Request 对象

如果data参数有值就是用post方式响应否则默认为GET 方式

urllib.request 模块使用HTTP/1.1 的无连接的状态协议

urlopen()函数返回类文件对象,提供以下内建方法:

read() , readline() ,readlines() , fileno() , close() :这些方法的使用方式与文件对象完全一样

info():返回一个httplib.HTTPMessage对象,表示远程服务器返回的头信息

getcode():返回Http状态码。

如果是http请求:

  1. (informational):请求已经收到,正在进行中

  2. (successful):请求成功接收,解析,完成

  3. (Redirection):需要重定向

  4. (Client Error):客户端问题,请求存在语法错误,网址未找到

  5. (Server Error):服务器问题

geturl():返回请求的url

接下来说的是urlencode函数

urllib库里面有个urlencode函数,可以把key-value这样的键值对转换成我们想要的格式,返回的是a=1&b=2这样的字符串,比如:

当urlencode之后的字符串传递过来之后,接受完毕就要解码了——urldecode。urllib提供了unquote()这个函数,可没有urldecode()!

好,话不多说,上源码,这个就是短短的不到三十行代码的翻译器。

源码

程序执行情况:

这里要注意的是两个函数

  1. urllib.request.urlopen()

  2. urllib.parse.urlencode()

urllib.request.urlopen()函数其实不止一个参数,有好几个哦,其中第二个是data,data应该是一个buffer的标准应用程序/ x-www-form-urlencoded格式。

urllib.parse.urlencode()函数接受一个映射或序列集合,并返回一个字符串的格式。我们可以看看urllib.parse.urlencode()的结果是什么样的:

上图的结果刚好与urllib.request.urlopen()的data参数的数据类型要求一致了。

注意,上面urlopen当中的url,这个是分析有道翻译页面的真实的Request URL:

相关资讯

苹果官方解读iPhone14/Plus

IT之家 9 月 8 日消息,Apple 今天宣布推出 iPhone 14 和 iPhone 14 Plus,在备受欢迎的 6.1 英寸显示屏基础上,新增 6.7 英寸显示屏;搭载全新双摄系统和车祸检测功能;具备 iPhone 最佳电池续航

英语启蒙要趁早抓住“儿童敏感期”是关键

来源:中国教育在线对于全民鸡娃的家长来说,鸡娃也要趁早,尤其是英语这一语言关,一定要尽早开始,能不能打通关不知道,反正早早入门抢占先机已成为鸡娃家长们之间不用多说的铁律。为啥?其实也很简单。人类大脑有它的脾气。它的语言敏感期就那么几年,要是

「多图」八款iPhone详细规格参数对比你会买哪款?

你的钱准备好了吗?2018年款iPhone已经正式登场,在未来1年中你会挑选哪款iPhone陪伴你呢?如果目前已经拥有iPhone X是否有必要升级iPhone XS Max?现在是购买iPhone 7或者7 Plus的最佳时机?带着这些疑

12张图回顾12部iPhone苹果十年多少次改变世界

明天凌晨,我们将正式迎来今年的新iPhone(iPhone X/8/8 Plus),对于iPhone而言,今年已经是第十周年,下面我们一同来回顾这十年来的12款iPhone。(图片引自搜狐科技)

新机又来,历代iPhone回顾

苹果一年一度的手机发布会9月9日就亮相了,在我的印象里,自从iPhone4代开始,每一代的iPhone都会成为一代街机,当然这里的街机不是贬义词,因为无论是从外观,还是实用性还是逼格,iPhone都能满足。总觉得在中国,无论是月薪2000还

苹果手机很好用,但千万别乱买,目前这3款iPhone才是最值的

苹果手机非常的耐用相信iPhone用户都知晓,当目前为止,小编身旁还有很多在使用iPhone6、iPhone7,只不过最近他们都去换了一次电池,然后就像满血复活了一样,不过当下在售的iPhone手机有很多,但并不是每一款都值得入手,以下3款

12张图回顾12部iPhone十年带来多少变革

2017-09-12 05:45:00 作者:邓旭明天凌晨,我们将正式迎来今年的新iPhone(iPhone X/8/8 Plus),对于iPhone而言,今年已经是第十周年,下面我们一同来回顾这十年来的12款iPhone。(图片引自搜狐科

友情链接

SEO域名抢注宝宝起名网妈妈知道币圈安宥真歌迷网下午茶文化网刘亦菲影迷网西双版纳旅游攻略免费起名神器奥斯陆旅游网索尼电视评测网王一博影迷网玉龙雪山旅游网速比涛泳镜会计学习网成都交友相亲网海底捞折扣网名牌鞋子品牌网宠物狗品种网
python编程教学网-python数据库开发教程、python基础知识入门、python数据库编程入门、python语法基础、python下载安装教程、python下载手机版、python翻译器下载手机版、python翻译器代码、python语言翻译、python基础代码、python编程自学网。
python编程教学网 dadeji.cn ©2022-2028版权所有