ImportError: cannot import name ‘ElasticsearchException‘ from ‘elasticsearch‘ (D:\Anaconda3\Lib\si

在较新版本的 Elasticsearch Python 客户端中,ElasticsearchException 已经被移除,因此您无法再从 elasticsearch 模块中导入它。如果您需要捕获 Elasticsearch 客户端引发的异常,可以使用更通用的异常类,例如 elasticsearch.exceptions.RequestErrorelasticsearch.exceptions.TransportError

下面是如何修改您的代码以处理异常的示例:

from elasticsearch import Elasticsearch
from elasticsearch.exceptions import RequestError, TransportError

# 创建 Elasticsearch 客户端
es = Elasticsearch()

# 使用 try-except 块来处理 Elasticsearch 客户端引发的异常
try:
    result = es.indices.create(index='news', ignore=400)
    print(result)
except RequestError as e:
    print(f"Request error occurred: {e}")
except TransportError as e:
    print(f"Transport error occurred: {e}")
except Exception as e:
    print(f"An unexpected error occurred: {e}")

在这个示例中,我们从 elasticsearch.exceptions 模块导入 RequestErrorTransportError 异常类,并在 try-except 块中捕获这些异常。这将允许您更精确地处理不同类型的 Elasticsearch 异常。如果出现未知异常,它将由通用的 Exception 类捕获。

请根据您的代码逻辑和需求来调整异常处理部分。

你可能感兴趣的:(爬虫,elasticsearch,jenkins,ci/cd,爬虫,python)