본문 바로가기
파이썬/가상화폐

Python 크롤링 에러 Connection aborted., RemoteDisconnected 해결방법 (feat. fake_useragent)

by 행복론자 2023. 2. 22.

 

 

pyhon 크롤링/외부 API를 반복적으로  호출하다보면 다음 에러가 발생할 수 있습니다. 

'Connection aborted.', RemoteDisconnected('Remote end closed connection without response')

 

다른 글을 보니 아예 header없이 요청을 보내서 그렇다고도 하네요.

res = requests.get(URL)

 

이런 경우에는 다음처럼 header를 넣으면 해결된다고 합니다. 

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36"}
res = requests.get(URL, headers=headers)

 

 

Header를 넣었는데도 에러가 난다면?

 

저같은 경우는 header를 넣었는데도 에러가 났습니다. 

이럴 때 도움이 되는 것이 fake_useragent 모듈입니다.

 

그런데 이번에는 fake_useragent를 사용하면 자체적인 모듈에러가 나는 경우가 있다고 하는데요 

 

해결 방법으로 패키지를 직접 수정하라고도 하는데 직접 수정하는 것 보다는 다른 방법도 있습니다. 

(위 글에 대한 링크: https://stackoverflow.com/questions/68772211/fake-useragent-module-not-connecting-properly-indexerror-list-index-out-of-ra)

 

모듈 자체의 에러도 없이 사용하려면 fake-useragent의 버전을 조정해 설치하면 됩니다.

 pip3 install fake-useragent==0.1.13

 

이후 요청을 보낼 때마다 가변 header를 보내면 에러가 나지 않습니다.

from fake_useragent import UserAgent
ua = UserAgent(use_cache_server=True)
headers = {"User-Agent": ua.random}
res = requests.get(URL, headers=headers)

 

 

그럼 모두들 즐거운 크롤링 되시기 바랍니다.. 총총총

 

반응형
이 포스팅은 쿠팡파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.

댓글