정적수집 | 동적수집 | |
---|---|---|
사용패키지 | urllib/requests | selenium |
수집 | 정적인 웹페이지 | 정적,동적 웹페이지 |
수집 속도 | 빠름(별도 페이지 조작 필요x) | 상대적으로 느리다 |
파싱 패키지 | beautifulsoup | beautifulsoup/selenium |
동적 수집은 계속 움직이는 페이지를 다루기 위해서 selenium패키지로 chromdriver를 제어한다. 특정 url로 접속해서 로그인을 하거나 버튼을 클릭하는 식으로 원하는 정보가 있는 페이지까지 도달한다.
이때 driver.find_elements_by(언더바) 함수를 이용하여 html을 곧바로 추출할 수 있고, driver.page_source함수를 이용해 전체 html을 받아 올 수도 있다. html전체를 받아와서 beautifulsoup로 하면, 페이지에서 하나하나 가져오는 것보다 수집속도가 빠른 특징이 있다. 이 부분은 선택사항이지만 다른코드를 이해하는 목적으로 둘다 알아두면 좋다.
동적 수집의 특징은 정적 수집과 반대라고 생각하시면 됩니다. 브라우저를 직접 조작하고 브라우저가 실행될때까지 기다려주기도 해야해서 그 속도가 느리다는 특징이있습니다. 하지만 이는 상대적인 것이지사람이 직접하는 것보다는 훨씬 빠르니 기본적으로 동적 수집을 하고 필요시 정적 수집 방식을 이용하는게 어떨까 하는 것이 개인적인 생각입니다. 정적/동적 웹페이지에 모두 적용이 가능하다.
좋은 글 감사히 잘 읽고 갑니다^^