持续创作,加速成长!这是我参与「掘金日新计划 · 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)
得到输出为:
这些状态代码的含义如下表所示:
查看响应内容
Requests支持自动对返回内容进行解码,可以查看text属性来查看具体的文本内容。
response = requests.get("http://www.baidu.com")
print(response.text)
得到输出如下:
之后,我们可以使用一些资源定位的方式,将需要的资源从响应中提取出来。
案例:模拟请求菜鸟教程网站
可以使用如下代码进行模拟请求:
# 导入 requests 包
import requests
# 发送请求
x = requests.get('https://www.runoob.com/')
# 返回网页内容
print(x.text)
得到输出为: