Python爬虫中,requests库是一个极其重要的工具,它为开发者提供了简单易用的HTTP客户端接口,使得处理网络请求变得更加直观和高效。相比于内置的urllib库,requests的封装更加完善,使得代码编写更为简洁。由于requests是第三方库,所以在使用前需要通过命令行工具pip进行安装,命令为`pip install requests`。安装成功后,只需导入requests模块,如果程序运行无误,即表示安装并可以正常使用。
requests库的核心功能之一是`requests.get()`方法,用于向目标网站发送GET请求,并返回一个HTTPResponse对象。以下是一些基本用法示例:
1. 发送GET请求并获取响应信息:
```python
import requests
response = requests.get('http://www.baidu.com')
print("状态码:", response.status_code) # 打印HTTP状态码,如200表示成功
print("URL:", response.url) # 打印请求的URL
print("头信息:", response.headers) # 获取响应头信息
print("Cookie:", response.cookies) # 获取服务器设置的cookies
print("网页源码(文本形式):", response.text) # 以纯文本形式显示网页内容
print("字节流:", response.content) # 以原始字节流形式显示
```
requests库支持多种HTTP请求方法,包括但不限于GET、POST、PUT、DELETE和HEAD等:
```python
# 使用不同请求方法
requests.get('http://httpbin.org/get')
requests.post('http://httpbin.org/post', data={'key': 'value'})
requests.put('http://httpbin.org/put', json={'data': 'example'})
requests.delete('http://httpbin.org/delete')
requests.head('http://httpbin.org/get')
requests.options('http://httpbin.org/get')
```
对于GET请求,还可以带参数,有两种常见方式:
- 直接在URL中附加查询参数:
```python
response = requests.get('http://httpbin.org/get?name=gemey&age=22')
```
- 将参数封装在字典中,然后传递给get方法:
```python
params = {'name': 'gemey', 'age': 22}
response = requests.get('http://httpbin.org/get', params=params)
```
这些基础操作是爬虫开发中必不可少的环节,熟练掌握requests库的使用能够极大地提高爬虫的效率和可维护性。通过了解和实践这些核心功能,开发者可以进一步深入学习如何处理更复杂的网络请求,如会话管理、重定向、错误处理和数据解析等。