저는 python을 처음 사용합니다. 아래 함수는 imdb에서 영화와 감독 이름을 제공합니다. 그것은 단일 링크에 대해 잘 작동합니다. 그러나 큰 링크 목록으로 실행할 때 ConnectionResetError : [WinError 10054] 기존 연결이 원격 호스트에 의해 강제로 닫혔습니다.웹 스크래핑 실행시 ConnectionResetError.
어떻게해야합니까? 코드를 개선하는 방법?
def get_director(movie_url):
html=urllib.request.urlopen(movie_url).read()
soup=BeautifulSoup(html,"lxml")
movie=soup.find("h1","header")
movie_name=movie.find("span","itemprop").text
d=soup.find("div","txt-block")
director=d.find("span","itemprop").text
return {'Movie':movie_name,'Director':director}
작동 여부는 잘 모르겠지만 [time.sleep] (http://docs.python.org/2/library/time.html#time.sleep) 메소드를 사용하여 get_director 메소드. 서버를 너무 빨리 때릴 수도 있습니다. 통화를 1 초 이상 지연하면 문제를 해결하는 데 도움이됩니다. –
당신이 지정한대로 시도했습니다. 같은 오류가 계속납니다. – ven93
나는 여전히 그것이 일종의 속도 제한 문제라고 생각한다. [Andrew Gorcester] (http://stackoverflow.com/users/471671/andrew-gorcester)는 사용자 에이전트와 요청 간의 지연을 말하고 실험합니다. –