专业编程基础技术教程

网站首页 > 基础教程 正文

2019再出发!全网python爬虫之urllib库最简解析系列(二)

ccvgpt 2024-07-23 01:34:01 基础教程 11 ℃

书接上文,本节主要涉及urllib.request.urlopen()返回的http.client.HttpResponse的的属性和方法通俗讲解


方法讲解

  • readinto()—已经被放弃的方法

这个方法相信很多人在很多书上都有看过,然而基本上就是跟大家提及下就没有说用法了,百度了也都找不到,但作为初学者的我们还是需要时刻保持着好奇心,为什么这个方法会被放弃?本着研究的态度我仔细研究了下,

2019再出发!全网python爬虫之urllib库最简解析系列(二)

这个方法需要一个bytes-like的对象,

一脸懵逼的我调用了help函数看看

翻一下就是:读出二进制对象(bytes-like object),转换成字节数组并返回二进制对象的大小

,什么是二进制对象?怎么转换成二进制对象呢?比如

图中的b就是二进制对象,‘中文’刚好是6字节的大小

最后这个方法到底用来干嘛的?

  • getheaders()

这个东西物如其名,就是用来“取头”的,而且是把头全部都拿了,至于这个头需要大家注意的是我们都知道头有两个,一个是请求头,一个是响应头,拿人人头你觉得会是自己的吗?(标准答案:响应头)

  • getheader(name)

指明道姓的拿响应头的某个部分!

  • fileno()

返回句柄(windows就是这个叫法,其他系统又叫文件描述符)。这哥们简单说就是程序在内存的索引(不懂的同学可能还得脑补下关于内存方面的知识,我之前的文章里面有关于这方面的介绍),

一定是非负整数(≥0的整数)。


属性讲解

  • msg

返回响应状态码的描述,比如200表示成功,它的描述就是ok

  • version

返回http的版本,跟程序的版本一样这个很好理解,比如10就是HTTP/1.0,,11就是HTTP/1.1.

  • status

返回响应的状态码,比如上面的200,找不到网页的404

  • reason

这个跟msg有点像,只不过它返回的是原因

  • debuglevel

程序的调试部件,debuglevel如果大于0的话就会把信息打印成输出文件,通常情况下你没有设置默认是0,那具体是什么意思呢?比如说这个

跟我们直接打开response不同的是,这里多了一个设置sslcontext的内容,即使没有print语句也会有下面的输出

也就是说,当debuglevel设置大于0时,会把http请求和响应的过程打印出来

  • closed

这个好理解,就是把某个东西关闭。那具体时什么呢?就是http的信息流,如果要求一直连接,信息流就不会断这时候就会返回False,如果关的上就会返回True

希望我的解答真的能够让小白能够理解,与你共勉,我是求道僧,欢迎关注!

有需要python学习资料的请关注并私信我!!

Tags:

最近发表
标签列表