温馨提示×

requests爬虫如何处理异常捕获

小樊
82
2024-12-11 07:25:14
栏目: 编程语言

在使用Python的requests库进行网络请求时,异常捕获是非常重要的,因为它可以帮助你处理可能出现的网络问题或其他错误。你可以使用try-except语句来捕获异常。以下是一个简单的示例:

import requests
from requests.exceptions import RequestException

url = 'https://api.example.com/data'

try:
    response = requests.get(url)
    response.raise_for_status()  # 如果响应状态码不是200,将抛出异常
except RequestException as e:
    print(f'请求发生异常:{e}')
else:
    try:
        data = response.json()  # 假设返回的数据是JSON格式
        print(data)
    except ValueError as e:
        print(f'解析JSON数据时发生异常:{e}')

在这个示例中,我们首先尝试使用requests.get()发起一个GET请求。如果请求过程中发生任何异常(例如网络连接问题、超时等),RequestException将被捕获并打印错误信息。

如果请求成功,我们将检查响应的状态码。如果不是200,我们使用raise_for_status()方法抛出一个异常。然后,在else子句中,我们尝试解析响应的JSON数据。如果解析过程中发生异常(例如,响应内容不是有效的JSON格式),我们将捕获ValueError并打印错误信息。

0