파이썬에서 크롤링을 하다보면 아래와 같은 에러를 만나게 되는데요.
Connection aborted.', RemoteDisconnected('Remote end closed connection without response
이 에러는 실제로 헤더값을 추가하면 해결할 수 있는데요.
에러코드 상세 내역
req = requests.get(videourl)
File "C:\python\Lib\site-packages\requests\api.py", line 73, in get
return request("get", url, params=params, **kwargs)
File "C:\python\Lib\site-packages\requests\api.py", line 59, in request
return session.request(method=method, url=url, **kwargs)
File "C:\python\Lib\site-packages\requests\sessions.py", line 587, in request
resp = self.send(prep, **send_kwargs)
File "C:\python\Lib\site-packages\requests\sessions.py", line 701, in send
r = adapter.send(request, **kwargs)
File "C:\python\Lib\site-packages\requests\adapters.py", line 547, in send
raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))
실제 코드는 아래처럼 헤더를 추가해주면 해결이 됩니다.
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"}
req = requests.get(videourl, headers=headers)
기본적으로 http 헤더는 클라이언트와 서버가 통신할 때 함께 전달하는 부가 정보로 날짜, 인코딩 정보, 유저 정보 등 다양한 내용을 담고 있습니다. 그래서 해당 사이트에서 봇의 접속을 막는경우 헤더가 없으면 접속이 불가능합니다.
그래서 위의 코드를 통해 User-Agent 부분을 설정해 주는 것입니다. User-Agent에는 운영체제, 소프트웨어 버전, 소프트웨어 유형 등 여러 내용이 포함되어 있어, 봇이 아닌 사람이 직접 접속한 것처럼 속이게 되는 것입니다.
그럼 잘 사용하시기 바랍니다.
'Programming > Python' 카테고리의 다른 글
openpyxl.utils.exceptions.IllegalCharacterError 해결하기 (1) | 2023.11.27 |
---|---|
ubuntu python3 최신버전 설치하는 방법 (1) | 2023.11.15 |
파이썬 날짜 변환하기 (1) | 2023.10.11 |
파이썬 가상환경 설치하기 - venv (0) | 2023.06.18 |
구글 드라이브 파이썬으로 연동하기 - 1. 구글 드라이브 설정하기 (0) | 2023.05.16 |