Requests模块是Python语言中常用的HTTP请求库,它可以方便的发送HTTP/1.1请求,并且能够自动处理连接的细节,比如TCP连接和HTTP连接池等。本文将从以下几个方面介绍requests模块的安装使用。
1. 安装requests模块
要使用requests模块,需要先安装它。在终端中使用pip命令即可完成安装:
$pip install requests
如果前面已经安装过了,可以使用以下命令来更新版本:
$pip install --upgrade requests
2. 发送GET请求
使用requests模块发送GET请求非常简单,只需要调用requests.get()方法,并传入url参数即可:
import requests
res = requests.get('https://www.baidu.com')
print(res.status_code)
print(res.text)
res是一个Response对象,我们可以通过它来获取HTTP响应的状态码和响应内容。上面的代码向百度发送了一个GET请求,获取到了百度首页的HTML代码。
3. 发送POST请求
除了GET请求,requests模块还支持POST请求,只需要使用requests.post()方法,并传入url和data参数即可:
import requests
data = {'username': 'hello', 'password': 'world'}
res = requests.post('https://www.example.com/login', data=data)
print(res.status_code)
print(res.text)
data参数是一个字典类型,用于传递POST请求的数据。上面的代码向https://www.example.com/login发送了一个POST请求,传递的数据是{'username': 'hello', 'password': 'world'}。
4. 设置HTTP Header
有些网站需要设置HTTP Header才能正常工作,requests模块也提供了相应的方法来设置Header:
import requests
headers = {'user-agent': 'Mozilla/5.0'}
res = requests.get('https://www.example.com', headers=headers)
print(res.status_code)
print(res.text)
headers参数是一个字典类型,用于设置HTTP请求头部。上面的代码向https://www.example.com发送了一个GET请求,并设置了user-agent头部。
5. 设置超时时间
有些网站响应很慢,如果不设置超时时间,程序会一直等待。requests模块提供了timeout参数来设置超时时间,单位是秒:
import requests
res = requests.get('https://www.example.com', timeout=3)
print(res.status_code)
print(res.text)
timeout参数是一个浮点数类型,表示等待响应的最大时间,如果超时会抛出Timeout异常。上面的代码向https://www.example.com发送了一个GET请求,并设置了超时时间为3秒。
总结
Requests模块是Python语言中非常优秀的HTTP请求库,可以方便快捷的发送HTTP请求,并且支持各种HTTP方法、设置头部信息、设置超时时间等。对于需要爬取数据或是进行API开发的开发者来说,requests模块是必不可少的工具。