- 웹 페이지는 어떻게 생성되느냐에 따라 크게 2가지로 구분
- HTML 내용이 고정된 정적(static) 웹 사이트
- HTML 내용이 변하는 동적(dynamic) 웹사이트
- 정적 웹 사이트는 HTML 문서가 완전하게 응답된다.
- 동적 웹 사이트는 응답 후 HTML이 렌더링이 될 때가지의 지연시간이 존재!
- 동기 처리 : 요청에 따른 응답을 기다린다.
- 비동기 처리 : 요청에 다른 응답을 기다리지 않는다.
동적 웹사이트에 대한 방안
UI 상호 작용에 대한 방안
- 응답 후 시간을 지연시킬 수 있다.
from selenium import webdriver driver = webdriver.Chrome() driver.implicitly_wait(10) driver.get("http://www.example.com")
- UI와의 상호작용이 가능하다.
from selenium import webdriver elem = driver.find_element_by_tag_name("helo-input") elem.send_keys("Hello!")
웹브라우저와 파이썬을 함께 사용한다는 아이디어 도출!
- 동적 웹사이트는 응답 후 바로 정보를 추출사기 어렵다.
- 또한, 아양한 키보드 입력과 마우스 클릭 등의 상호작용이 존재한다.
- 이런 상황을 해결하기 위해, 웹 브라우저를 파이썬으로 조작하는 전략을 취한다.