欢迎访问宙启技术站
智能推送

Python爬虫入门教程:使用requests模块发送HTTP请求

发布时间:2023-06-10 15:19:26

Python爬虫已经成为了数据爬取和分析的一种重要手段。那么,如何使用Python发送HTTP请求呢?这里介绍一种常用的Python HTTP请求库 -- requests模块,它是Python中最流行的HTTP客户端库之一。

1. 准备工作

在开始使用requests模块发送HTTP请求之前,我们需要先安装它。打开命令行窗口,输入以下命令:

pip install requests

2. 发送HTTP请求

使用requests来发送HTTP请求十分简单,只需三个步骤:

1. 导入requests库

2. 调用requests的方法发送HTTP请求

3. 处理响应

在以下示例中,我们将发送一条GET请求,向腾讯新闻API发送请求,获取最新新闻。

import requests

url = 'http://roll.news.qq.com/interface/roll.php?action=0&'
params = {
    'pageNum': 1,
    'pageSize': 10,
    'lid': 1008,
    'callback': 'jQuery211087909104084032_1532896662200',
    '_': 1532896662202
}

response = requests.get(url, params=params)

print(response.json())

在这个示例中,我们首先导入了requests库。然后,指定请求的URL和参数信息,并使用requests.get方法向该URL发送GET请求。请求所在的URL是一个腾讯新闻API的地址。它包含参数pageNum、pageSize、lid、callback和_。这五个参数是腾讯新闻API所需的,用于获取新闻信息。最后我们使用response.json方法处理响应,得到包含新闻信息的JSON字符串。

这里我们用到了requests.get方法,requests库还提供了其他方法来满足不同的HTTP请求需求:

- requests.head:发送HEAD请求

- requests.post:发送POST请求

- requests.put:发送PUT请求

- requests.patch:发送PATCH请求

- requests.delete:发送DELETE请求

这些请求方法都具有类似的用法,只需要更改方法名即可。

3. 处理HTTP响应

requests库返回的响应信息包含响应状态码、响应头和响应体等元素。

在上面的例子中,我们使用了response.json方法处理响应,获取JSON格式的数据。

requests提供的响应处理方法还包括:

- response.text:返回响应内容的字符串形式

- response.content:返回响应内容的二进制形式

- response.status_code:返回HTTP响应状态码

- response.headers:返回响应头

- response.cookies:返回响应中的Cookies

在进行数据分析时,我们最常用的是response.json方法和response.text方法。借助response.json方法,我们可以将响应内容直接转为JSON格式,进而对数据进行进一步的处理和分析。而使用response.text方法,我们可以直接获取响应内容的字符串形式,然后使用正则表达式等方式对数据进行提取和分析。

使用requests库发送HTTP请求十分方便和灵活,既能发送GET请求,也能发送POST、PUT、PATCH、DELETE等请求,适用于各种不同的数据爬取需求。这里通过使用腾讯新闻API获取新闻信息的示例,介绍了requests库的使用方法,希望能够对大家有所帮助。