匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

从零开始学习Python爬虫:requests库教程

从零开始学习Python爬虫:requests库教程

Python是一种高级编程语言,它可以完成很多复杂的任务,包括爬取网站。Python中的requests库是一个处理HTTP请求的库,它可以让爬虫程序很容易地获取数据。

1. 安装requests库

使用Python的pip工具来安装requests库,可以在命令行中输入以下命令:

```
pip install requests
```

2. 发送HTTP请求

requests库中的get()方法可以发送一个HTTP GET请求,并返回响应对象。可以使用以下代码来发送GET请求:

```
import requests

response = requests.get('https://www.example.com')
print(response.status_code)    # 打印网站的状态码
print(response.text)           # 打印网站的HTML内容
```

3. 添加请求头

有些网站可能会检查请求来源并拒绝一些请求,因此需要在请求中添加headers头。可以使用以下代码来添加请求头:

```
import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}

response = requests.get('https://www.example.com', headers=headers)
print(response.status_code)    # 打印网站的状态码
print(response.text)           # 打印网站的HTML内容
```

4. 发送POST请求

使用requests库也可以发送POST请求。可以使用以下代码来发送POST请求:

```
import requests

data = {'key1': 'value1', 'key2': 'value2'}
response = requests.post('http://www.example.com', data=data)
print(response.status_code)    # 打印网站的状态码
print(response.text)           # 打印网站的HTML内容
```

5. 处理响应

在发送请求后,可以通过response对象来获取响应内容。响应对象包括以下属性:

- status_code:表示HTTP状态码,比如200表示成功,404表示页面未找到等。
- headers:响应头信息。
- text:响应内容的字符串形式。
- content:响应内容的二进制形式。
- json():将响应内容解析为JSON格式。

除了以上属性,response对象还包括其他一些属性和方法,可以在Python官方文档中查看更多信息。

6. 处理异常

在爬虫程序中,可能会出现一些异常,比如网络异常、超时等。可以使用try-except语句来处理这些异常。可以使用以下代码来处理异常:

```
import requests

try:
    response = requests.get('https://www.example.com')
    response.raise_for_status()   # 如果状态码为404或500等,会触发HTTPError异常
except requests.exceptions.RequestException as e:
    print(e)    # 打印异常信息
```

总结

本篇文章介绍了Python中的requests库,以及使用该库进行爬虫程序的开发。通过本文的学习,读者可以了解到requests库的一些基本用法,包括发送HTTP请求、添加请求头、发送POST请求、处理响应以及处理异常。在实际的爬虫开发中,读者可以根据需求选择合适的方法来实现所需功能。