크롤링 탐지 우회하기 / Avoid Bot Detection


IP, User-Agent, Referer

가장 중요한 것은 위의 세 가지다. 물론 가장 원초적인 기준은 크롤링을 진행하는 속도지만, 이는 당연한 것이므로 배제하고, 서버 입장에서 지금 접속한 놈이 Bot인지 아닌지 를 판단하는 기준은 "이녀석이 사람같이 행동하나?" 다


IP

하나의 IP로 계속해서 웹 페이지를 돌아다닌다. 30분, 1시간, 광고를 걸어둔 웹 서버 관리자 입장에선 아주 고마운 존재라고 생각할 수도 있지만,
같은 IP로 5시간, 6시간 째 웹 서버 페이지의 제품 목록과 제품 세부사항을 왔다갔다만 하고 있다???


User-Agent

User-Agent는 브라우저, OS 등의 정보를 최소한으로 보여주는데, 리눅스 우분투에 urllib3 이딴 거면 당연히 바꿔줘야겠지? python requests에서는 헤더로 간단히 변경할 수 있다.


Referer

Referer는 지금 웹서버에 넣은 요청 이전에 내가 어디서 들어왔는지에 대한 내용이 들어있다. 정상적인 사용자라면, 웹페이지의 호스트 도메인이 적혀져있거나 바로 이전 페이지의 url이 들어있겠지만, Bot의 경우 들어있지 않을 것이다. 관리자는 얘도 Bot임을 의심할 수 있다

다음 글 이전 글
댓글 쓰기
comment url