本文介绍了如何使用Python的Requests库进行HTTP请求,包括GET和POST请求的实现方法、Cookies和Session的使用以及处理HTTP错误。文中还详细展示了通过Requests库抓取天气信息和实现简单网页爬虫的小项目实战,并提供了完整的代码示例。读者将全面了解和掌握的相关知识。
Requests库简介Requests是一个使用Python语言编写的HTTP库,用于发送HTTP请求和接收响应。它提供了简单易用的API,支持各种HTTP方法,如GET、POST、PUT、DELETE等。Requests库内置了多种特性,包括自动解码响应内容、自动处理证书验证、支持HTTP/1.1和HTTP/2等。
安装Requests库可以通过Python的包管理工具pip来完成。在命令行中执行以下命令:
这将安装最新版本的Requests库。如果需要安装特定版本,可以指定版本号:
使用Requests库非常简单。首先需要导入库:
然后可以通过或等方法发送HTTP请求。例如,发送一个简单的GET请求:
GET请求的实现GET请求是一种HTTP方法,用于获取资源。GET请求将参数附加在URL的查询字符串中,通常用于请求查询或检索资源。GET请求不会改变服务器的状态,是一种安全的方法。
使用方法可以发送GET请求。该方法接受一个URL参数,并返回一个对象。以下是一个示例:
可以通过参数传递额外的查询参数。例如,要添加查询参数和:
POST请求的实现POST请求用于向服务器发送数据,通常用于提交表单数据、文件上传等。POST请求将数据放在请求体中,而不是URL中。
使用方法可以发送POST请求。以下是一个示例:
可以通过或参数提交数据。例如,提交一个JSON对象:
Cookies和Session的使用Cookies是服务器发送给客户端的一小段数据,客户端会在后续请求中自动将Cookies返回给服务器。Cookies通常用于会话跟踪、用户认证等。
Session用于在客户端和服务器之间存储会话数据。它模拟一个持久的浏览器会话,可以自动处理Cookies,从而简化编程。
使用对象可以管理Cookies和Session。以下是一个示例:
请求的高级用法使用Requests库抓取网页内容非常简单,只需发送一个GET请求并解析响应内容。例如,抓取简书首页的HTML:
可以通过方法上传文件,也可以通过方法下载文件。例如,上传一个文件:
下载文件时,可以将响应内容写入文件:
Requests库提供了自动处理HTTP错误的机制。可以通过方法来检查HTTP响应状态码。例如:
小项目实战演练使用Requests库可以抓取天气信息。例如,使用一个天气API抓取北京的天气:
实现一个简单的网页爬虫,抓取一个网站的标题和所有链接。例如,抓取慕课网的首页:
一个完整的实战项目是实现一个简单的天气查询应用。该应用通过命令行接收城市名称,然后使用Requests库查询并显示天气信息。