IT기타

로그인된 상태에서 스크랩 자동(selenium, python)

emilyyoo 2024. 7. 25. 14:31
728x90

로그인된 상태에서 웹 스크랩 하는 방법

이 방법은 스크랩할 정보의 접근권한이 로그인 사용자에게만 있을 때 유용하다.

준비물

  • Python
  • Selenium
  • Chrome 브라우저와 ChromeDriver

1단계: Chrome을 디버그 모드로 실행하기

먼저, Chrome을 디버그 모드로 실행해야 한다. 이렇게 하면 로그인된 세션을 유지할 수 있다. 아래 명령어를 사용한다:

 
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir="C:\selenium\ChromeProfile

서버의 cmd 창에 이 명령어를 실행하면 Chrome이 디버그 모드로 열리고, 여기서 크롤링하려는 사이트에 로그인하면  C:\selenium\ChromeProfile 디렉토리에 사용자 데이터가 저장된다.

2단계: Selenium을 사용하여 디버그 모드로 실행된 Chrome 브라우저에 연결하기

이제 Python 코드를 통해 디버그 모드로 실행된 Chrome 브라우저에 연결하면 된다. 이를 통해 로그인된 상태를 유지한 채로 크롤링 작업을 수행할 수 있다.

python 코드 : 
 
# Chrome 웹 드라이버 경로 설정
driver_path = r'~~~~\chromedriver.exe' # 크롬드라이버 설치주소

# ChromeService 객체 생성
service = Service(executable_path=driver_path)

# 이미 실행 중인 Chrome 브라우저 세션에 연결
options = webdriver.ChromeOptions()
options.debugger_address = "127.0.0.1:9222"
driver = webdriver.Chrome(service=service, options=options)
 
 

이제 이 코드를 실행하면, 로그인된 상태를 유지한 채로 데이터를 크롤링할 수 있다.
이 방법을 통해 로그인이 필요한 사이트를 스크랩할 수 있다.

728x90