什么是requests库?
Requests库是一个Python的HTTP客户端库,它让发送HTTP请求变得更加简单和方便。这个库可以轻松地发送GET、POST、PUT、DELETE等HTTP请求,并且支持HTTPS、连接管理、Session会话、自动解压、多部分编码、表单编码、Cookies、重定向、认证、基本身份验证、文件上传等等。
一、requests环境配置
使用如下代码,在cmd中进行安装库:
pip install requests
如果下载速度缓慢,可以使用国内镜像进行安装(按好用程度排序):
#清华大学
pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple
#阿里云
pip install requests -i https://mirrors.aliyun.com/pypi/simple/
#网易
pip install requests -i https://mirrors.163.com/pypi/simple/
#豆瓣
pip install requests -i https://pypi.douban.com/simple/
#百度云
pip install requests -i https://mirror.baidu.com/pypi/simple/
#中科大
pip install requests -i https://pypi.mirrors.ustc.edu.cn/simple/
#华为云
pip install requests -i https://mirrors.huaweicloud.com/repository/pypi/simple/
#腾讯云
pip install requests -i https://mirrors.cloud.tencent.com/pypi/simple/
二、使用步骤
在笔记中出现的爬虫请求均为对爬虫靶场网站http://spiderbuf.cn/e03/进行的请求,爬取其他网站时应当遵守网站规定的robot.txt
1.引入库
代码如下(示例):
import requests
2.构建请求头
使用requests函数对网站进行请求,在请求时添加请求头等信息,有些网站需要添加请求负载
在headers中一般只需添加User-Agent就可成功对网页发起请求,在一些特定网站需要添加其他请求内容。
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.69"
}
3.构建访问请求
url = "http://spiderbuf.cn/e03/"
response = requests.get(url=url, headers=headers, cookies=None, timeout=1)
print(response)
请求中常用参数:
url:传入请求网址
headers:传入请求头
cookies:传入请求
timeout:确定超时时间,网页在固定时间内没有相应时停止请求
三、请求结果
请求结束后,响应属性如下表(r为请求的返回值):
属性 | 说明 |
---|---|
r.status_code | HTTP请求的返回值,200为请求成功,404为请求失败 |
r.text | HTTP相应内容的字符串形式,即页面内容 |
r.encoding | 从请求头中猜测的响应内容编码方式 |
r.content | HTTP相应内容的二进制形式 |
r.apparent_encoding | 根据网页内容分析出的编码方式 |