Python中Requests库学习记录

76 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第26天,点击查看活动详情

导语

本文主要记录学习Python中网页请求的爬虫库Requests。

Requests库简介

Requests库是一种常用的http请求库,它使用python语言编写,可以方便的发送http 请求,以及处理响应结果。Requests是基于urllib编写的,采用的是Apache2 Licensed开源协议,是目前最常用的网络请求库之一。

安装与导入

直接使用pip进行安装,

pip install requests

使用时,直接导入即可

import requests

基本使用

发送http请求

发送请求使用GET命令,若要进行修改则使用POST命令。

  • GET用于信息获取,而且应该是安全的和幂等的。简单来说,GET请求仅用于获取资源信息,而不会修改数据。

  • POST表示可能修改变服务器上的资源的请求。一般的,类似于提交用户评论、登录个人账户等操作均使用post请求。

查看响应状态

常见的请求错误编号如下表所示,通过requests库的status_code属性,我们能 够知道网页查询的状态。

response = requests.get("http://www.baidu.com")
print(response.status_code)

得到输出为:

image.png

这些状态代码的含义如下表所示:

image.png

查看响应内容

Requests支持自动对返回内容进行解码,可以查看text属性来查看具体的文本内容。

response = requests.get("http://www.baidu.com")
print(response.text)

得到输出如下:

image.png

之后,我们可以使用一些资源定位的方式,将需要的资源从响应中提取出来。

案例:模拟请求菜鸟教程网站

可以使用如下代码进行模拟请求:

# 导入 requests 包  
import requests  
  
# 发送请求  
x = requests.get('https://www.runoob.com/')  
  
# 返回网页内容  
print(x.text)

得到输出为:

image.png