Python 爬虫基础 - requests模块 3
2023-09-21 22:23:02
前言
欢迎回到Python爬虫基础系列文章的第三部分。在上一篇文章中,我们介绍了requests模块的基本概念和使用入门知识。本篇教程将继续深入探究requests模块的用法,带你领略网络爬虫技术的魅力。通过学习本篇教程,你将能够掌握requests模块的更多高级功能,为构建自己的爬虫项目奠定坚实的基础。
发送HTTP请求
requests模块的核心功能之一是发送HTTP请求。HTTP请求是客户端(如爬虫程序)向服务器(如网站)发送数据的一种方式。服务器收到请求后,会返回相应的数据。requests模块提供了多种方法来发送HTTP请求,包括get()、post()、put()和delete()。
get()方法
get()方法用于向服务器发送GET请求。GET请求通常用于获取数据。例如,以下代码向百度首页发送GET请求并打印服务器返回的数据:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
post()方法
post()方法用于向服务器发送POST请求。POST请求通常用于提交数据。例如,以下代码向百度搜索引擎发送POST请求,搜索关键词"Python爬虫":
import requests
url = 'https://www.baidu.com/s'
data = {'wd': 'Python爬虫'}
response = requests.post(url, data=data)
print(response.text)
put()方法
put()方法用于向服务器发送PUT请求。PUT请求通常用于更新数据。例如,以下代码向服务器发送PUT请求,更新用户资料:
import requests
url = 'https://example.com/user/1'
data = {'name': 'John Doe', 'email': 'johndoe@example.com'}
response = requests.put(url, data=data)
print(response.text)
delete()方法
delete()方法用于向服务器发送DELETE请求。DELETE请求通常用于删除数据。例如,以下代码向服务器发送DELETE请求,删除用户资料:
import requests
url = 'https://example.com/user/1'
response = requests.delete(url)
print(response.text)
处理HTTP响应
发送HTTP请求后,爬虫程序需要处理服务器返回的HTTP响应。requests模块提供了多种方法来处理HTTP响应,包括response.status_code、response.headers和response.text。
response.status_code
response.status_code属性包含了HTTP响应的状态码。状态码是一个数字,表示服务器对请求的处理结果。常见的HTTP状态码有:
- 200 OK:请求成功
- 404 Not Found:请求的资源不存在
- 500 Internal Server Error:服务器内部错误
response.headers
response.headers属性包含了HTTP响应的头部信息。头部信息是一些键值对,提供了有关HTTP响应的元数据。例如,以下代码打印了HTTP响应的Content-Type头部信息:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.headers['Content-Type'])
response.text
response.text属性包含了HTTP响应的正文内容。正文内容通常是HTML代码、JSON数据或纯文本。例如,以下代码打印了HTTP响应的正文内容:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
小结
在本篇教程中,我们深入探究了requests模块的用法。我们学习了如何发送HTTP请求,并处理HTTP响应。通过掌握这些知识,你已经具备了构建自己的爬虫项目的必要技能。在下一篇教程中,我们将介绍如何使用BeautifulSoup库解析网页内容,提取我们需要的数据。