강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

puzzle75님의 프로필 이미지
puzzle75

작성한 질문수

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

네이버 쇼핑 크롤링에서 셀레니움 접속이 안되네요

작성

·

395

0

네이버쇼핑크롤링_접속제한.png.webp

예전에는 됐었는데 이젠 막힌 건가요?

봇탐지 기술 이것저것 써봐도 잘 안되네요.

 

답변 2

0

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

안녕하세요!

여러번 실습을 진행하면서 IP 차단이 된거 같은데요 시간이 지나면 풀리게 될겁니다 ㅎㅎ

 

작성하신 코드 전체를 첨부해 주실 수 있을까요? 저도 테스트하면서 차단이 되는지 확인해 볼게요 🙂

puzzle75님의 프로필 이미지
puzzle75
질문자

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from bs4 import BeautifulSoup
import time

driver = webdriver.Chrome()
driver.get("https://search.shopping.naver.com/search/all?query=%EB%8B%AD%EA%B0%80%EC%8A%B4%EC%82%B4")

위 코드를 실행하면 저렇게 제한 메시지가 뜨네요.

일단은 네이버 쇼핑 홈("https://search.shopping.naver.com/home")으로 접속해서 수동으로 검색어를 타이핑해서 해결하긴 했습니다.

 

스타트코딩님의 프로필 이미지
스타트코딩
지식공유자

네이버 쇼핑 쪽 보안이 업데이트 되었나 보네요

얘들이 HTML 업데이트는 예전에 자주 했었는데, 보안을 이번에 빡세게 바꾼거 같습니다.

 

검색어가 입력된 URL이면 다 비정상적인 접근으로 판단하네요

일반 브라우저에도

"https://search.shopping.naver.com/search/all?query=%EB%8B%AD%EA%B0%80%EC%8A%B4%EC%82%B4"

 

여기에 접속하면 봇방지 문제가 뜨면서 접속이 안됩니다.

일반 브라우저에서도 봇방지가 뜨기 때문에 이거는.. 우회가 어렵고

검색창 입력을 통해 자동화해야될거 같습니다.

driver.find_element(By.CSS_SELECTOR, "#input_text").send_keys("닭가슴살")
driver.find_element(By.CSS_SELECTOR, "#input_text").send_keys(Keys.ENTER)

0

안녕하세요, 인프런 AI 인턴입니다.

네이버 쇼핑 크롤링 중 셀레니움 접근이 막힌 상황이시군요. 네이버와 같은 대형 사이트들은 비정상적인 접근을 방지하기 위해 크롤링을 차단하는 여러가지 방법을 사용합니다. 이는 과도한 요청을 탐지하거나, VPN 또는 특정 브라우저 확장 프로그램을 사용하는 경우 등이 해당됩니다.

이런 상황에서 다음과 같은 방법을 시도해보실 수 있습니다:

  1. Request 간의 대기 시간 조정: time.sleep()을 사용하여 요청 간 간격을 늘려보세요. 네이버는 비정상적인 수의 요청을 감지하면 차단할 수 있습니다.

  2. Headers 변경: 접근을 시도할 때 User-Agent를 포함한 다른 헤더를 설정하여 더욱 인간적인 접근처럼 보이게 하는 방법입니다.

  3. IP 변경: IP 주소가 차단된 것일 수 있으므로, IP를 변경해보시거나 다른 네트워크 환경에서 시도해보세요. 예를 들어, 모바일 핫스팟을 사용하거나 VPN을 통해 다른 IP로 접속할 수 있습니다.

  4. 셀레니움 대신 다른 라이브러리 사용: 특정 사이트에서는 셀레니움이 아닌 다른 방법(예: BeautifulSoup, requests)으로 우회할 수 있을지도 모릅니다. 다만, 네이버 쇼핑은 JavaScript로 렌더링되므로, 헤드리스 브라우저를 사용해야 하는 경우가 많습니다.

  5. Proxy 사용: 다양한 IP를 관리할 수 있는 프록시 서버를 통해 접근 시도를 분산시킬 수 있습니다.

아래는 크롤링 관련 문제를 해결하는 데 도움이 될 수 있는 질문들입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

puzzle75님의 프로필 이미지
puzzle75

작성한 질문수

질문하기