UBUNTU: 디버거 크롬 사용하기

Nayeon Kim·2023년 3월 1일
2

OS

목록 보기
3/3

셀레니움 라이브러리를 통해 웹 사이트 접속 시,
봇으로 인식되는 것을 회피하기 위해서는 디버거 크롬을 사용해야 한다.

일반적인 chromedriver를 통해 웹 접속 시,
“Chrome이 자동화된 테스트 소프트웨어에 의해 제어되고 있습니다.”라는 메시지가 뜨는 걸 볼 수 있는데
이는 웹 사이트 측에서도 사용자가 셀레니움을 통해 접속했단 정보를 알 수 있으며(=봇 탐지)
최근 많은 사이트에서 해당 방식을 통한 접근을 막고 있다.

예시로, 쿠팡에서는 일반 chromedriver로 접근 시 일부 페이지에서 access denied가 뜬다.

봇 탐지를 회피할 수 있는 디버거 크롬을 사용하면 원활한 접근이 가능하다.

윈도우 환경에서 디버거 크롬 실행하는 법과 관련한 정보는 많았지만,
내가 사용하고 있는 우분투 환경에서는 해당 정보가 많지 않아 한참 헤맸다.
chrome 공식문서와 github 코드들을 참고해 드디어 테스트 완료-!

#우분투의 경우, 크롬 파일 경로를 아래와 같이 작성
subprocess.Popen(f'google-chrome --remote-debugging-port=9222  --user-data-dir=data_dir'.split()) 

option = Options()
option.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_ver = chromedriver_autoinstaller.get_chrome_version().split('.')[0]

try:
 driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver', options=option)
except:
 chromedriver_autoinstaller.install(True)
 driver = webdriver.Chrome(f'./{chrome_ver}/chromedriver', options=option)
driver.implicitly_wait(10)

참고: 셀레니움 웹 크롤링 봇 탐지 우회 - 뻥뚫리는 파이썬 코드 모음

profile
Department of Computer Science

0개의 댓글