微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ConnectionResetError - 10054, '一个现有的连接被远程主机强行关闭', 在 Python 中

如何解决ConnectionResetError - 10054, '一个现有的连接被远程主机强行关闭', 在 Python 中

我正在运行一个 for 循环,旨在从列表中读取艺术家姓名并在 spotipy api 中搜索艺术家排名前 10 的歌曲。该列表包含超过 150 位艺术家,因此我需要 api 调用运行很长时间。但是,在前十位艺术家之后,我收到以下错误

urllib3.exceptions.ProtocolError: ('Connection aborted.',ConnectionResetError(10054,'An existing connection was forcibly closed by the remote host',None,10054,None)) requests.exceptions.ConnectionError: ('Connection aborted.',None))

代码如下:

import urllib.parse
import urllib.request
import requests
import pandas as pd
from lyricsgenius import genius
from requests.models import ReadTimeoutError
import json
import time
from collections import defaultdict
from pathlib import Path
import numpy as np
import spotipy
from spotipy.oauth2 import SpotifyOAuth
from spotipy.oauth2 import SpotifyClientCredentials
import spotipy.util as util
import json

sample_artists = ['Saigon','Lupe Fiasco'...more names]

for artist in sample_artists:
    query_number += 1
    artists = []
    titles = [] 
    xxlyear =  []
    lyrics = []
    popularity = []
    print('\nQuery number:',query_number)
    #was dealing with the lyricgenius API,where it would time out after a few seconds,this solution continues to try the API call until it works 
    while True:
        try:
            artist = api.search_artist(artist,max_songs=10,sort = 'popularity',allow_name_change=True,include_features=False)
            break
        except:
            pass

知道如何避免此错误吗?

谢谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。