크롤링 할때, 브라우저로는 접속이 되는데, requests로 접속이 안되는경우 해결법

크롤링할때는 오만가지 이유로 크롤링이 안되는 경우가 있는데, 그중에서 reuqests 요청으로 접속이 안될때 이유를 간단하게 정리해 보겠다


접속이 안되는경우는 제일먼저 가장 기본으로 header를 살펴봐야한다. 그리고 대부분 headers 옵션으로 User-Agent를 같이 보내준다면 해결이 된다.

requests.get(url, headers={“User-Agent”: 값} 을 보내주면 대부분 해결이 된다

나머지의 경우도 알아보자

  • Cookie 값이 필요한경우
  • Accept 값이 필요한경우
  • Referer 가 필요한경우

위 경우는 필요한 값을 전달해주면 해결이 된다고 한다, 그러나 아래의 경우는 requests로 크롤링 하는 경우 해결이 어렵다고 볼수 있고, cookie , accept, referer 값을 전달하는 것 또한 많은 고난이 예상된다. 아직 나도 위 3가지 값을 전달하며 크롤링을 해본적은 없으며

문제는 cookie값을 브라우저에서 복사해서 값을 전달 한다고 해도, 쿠키값이 그대로 쓸수 없는 보안이 분명이 있을것으로 예상되기 때문이다.

requests 크롤링으로 해결이 어려운 경우는?

  • SPA : 싱글 페이지 앱 (페이스북 같은 한페이지로 이루어진 사이트)
  • CSRF : csrf 인증이 필요한 경우
  • Captcha : 캡쳐 프로그램이 있는 경우
  • IP Ban : 말그대로 과도한 크롤링으로 인하여 ip가 밴 당한경우

[ 알짜배기 정보 공유하기 ]

Leave a Comment