셀레니움을 사용하다보면 브라우저가 실제 눈앞에서 작동 되기 때문에, 상당히 번거로울 때가 많습니다.
이러한 문제를 해결하기 위해 많은 분들이 headless 옵션을 사용하시는데요.
(headless 사용법을 모르시는 분은 해당 포스팅을 참조하시기 바랍니다.)
하지만 headless를 사용하면 해당 웹서버에 내가 크롤링을 하고 있다는 정보가 노골적으로 노출되게 됩니다. 다시말하면 해당 웹페이지에서 우리 ip를 차단할 확률이 높아진다는것이죠.
네이버 크롤링 중 ip 차단
일례로 저는 최근 headless상태로 네이버 쇼핑을 크롤링을 하는데 5분도 지나지 않아 차단이 된 경험이 있습니다.
차단이 되었을때 발생되는 에러메세지는 아래와 같습니다.
실제로 저희 집 wifi ip연결된 기기로 해당 쇼핑 웹사이트에 접속했을때 Stopit 이라는 문구와 함께 해당 사이트에 접속 할 수 없었습니다.
해결책(정리)
1. headless 기능을 사용하지 않는다.
2. useragents를 추가해준다.
(useragents 넣는법은 해당 포스팅을 참조바랍니다.)
차단된 시간은 대략 30분 정도 되었습니다.
반복적으로 걸릴 경우 차단 시간이 더 길어질 수 있으니 주의 하셔야 할것 같습니다.
이 글과 읽으면 좋은글
'파이썬 > 크롤링' 카테고리의 다른 글
[파이썬 셀레니움 기초] 팝업창 닫는 방법 (0) | 2022.09.22 |
---|---|
[크롤링 기초] svg 태그 찾기 (with xpath 셀레니움) (1) | 2022.04.19 |
[셀레니움 기초] StaleElementReferenceException 오류 해결 (0) | 2022.04.07 |
[selenium 기초] 셀레니움 ~ is not clickable at point ~ 오류 해결 방법 (0) | 2022.04.06 |
[크롤링 기초] 부모(상위)태그 | 자식(하위)태그 | 형제 태그 개념 (0) | 2022.03.30 |
댓글