本文旨在帮助无基础读者快速科普和明确requests模块的用途和功能,深入学习请自行查阅相关资料

当我们点开一个网页,就会找到它的地址。比如你现在正在看到的页面,http://i-ripple.xyz/

我们可以看到最前面是http四个字母。HTTP是在网络上传输的协议,用于浏览器和服务器的通信,是最常见的协议。目前很多网站都已经升级到了HTTPS协议,HTTPS与HTTP类似,其区别读者可以自行查阅

HTTPS 在 HTTP 的基础上增强了安全,对传输的数据进行了加密,可以防止敏感信息被盗取、防止网页被劫持、增加恶意攻击的难度等。HTTPS 的缺点是需要付费,而且会稍微增加服务器的负担。

浏览器输入链接后,会获取链接的地址,这个地址的所在称为服务器。服务器可以看作高性能的计算机。平时所访问的网页就是服务器的一个文件。

浏览器进入服务器,会发送一个请求,告诉服务器我们需要访问上面文件。

服务器收到请求后,会把文件发送给浏览器,这一步叫响应

先请求后响应,用爬虫程序实现发送请求接受服务器的响应,就是requests的作用了。

网页请求方式

一般而言,我们所用的 HTTP 协议或 HTTPS 协议,使用的请求方式一般是 GET 方式和 POST 方式。

  • GET 方式: 访问某个网页前不需要在浏览器里输入链接之外的东西,因为我们只是想向服务器获取一些资源,可能就是一个网页。
  • POST 方式:访问某个网页前需要在浏览器里输入链接之外的东西,因为这些信息是服务器需要的。 比如在线翻译,我们需要输入点英文句子,服务器才能翻译吧。

更深入的知识需要参考计算机网络的相关知识,在此不再赘述。

而实现请求,只需要引入一个 requests 模块即可。

requests模块

requests 库中的 get() 方法能向服务器发送了一个请求,请求类型为 HTTP 协议的 GET 方式;post() 方法,也能向服务器发送一个请求,请求类型是 HTTP 协议的 POST 方式,您大可根据访问的网页而定。

import requests
# 引入 requests,实现请求

URL = 'http://i-ripple.xyz/'
# 输入在浏览器的网址

res = requests.get(URL)
# 发送 GET 方式的请求,并把返回的结果(响应)存储在 res 变量里头
#get() 方法需要输入一个网页链接

print(type(res))
#通过 type 查看返回的数据是什么对象。

结果是class 'requests.models.Response'相信熟悉python的读者可以得知这是一个Response类型的对象。

对于这个对象我们有一些对应的属性

| 属性 | 功能 | 例子 |
| ———— | ———— | ———— |
| Response.status_code |检查请求是否成功 |200 代表正常,404 代表网页不存在。|
| Response.encoding |定义编码 |如果编码不对,网页就会乱码的。|
Response.content |把数据转成二进制|用于获取图片、音频类的数据。|
Response.text |把数据转为字符串 |用于获取文本、网页原代码类的数据。|

比方获取文本类的信息使用的属性是 Response.text。

import requests

URL = 'http://i-ripple.xyz'
res = requests.get(URL)
print(res.text)

如果你运行之后就会发现打印的是所输入网址的H5(HTML5)代码。

HTML是一种用来定义网页的文本,会HTML,就可以编写网页;

小结

本节讲解了 Python requests 模块的简单使用,阅读完本节你就可以快速上手了。

  • Reponse.text 是用于下载文本(网页源代码)。html 语言即网页源代码,您可以理解为和 TXT 文档一样,只是加了些格式所以功能就独特。
  • Reponse.content 是用于下载视频、音频、图片,这些都是二进制存储的。
分类: python

0 条评论

发表评论

邮箱地址不会被公开。 必填项已用*标注