[데브코스 TIL] DAY9 파이썬으로 웹다루기 (3)

May·2024년 4월 3일

오늘의 학습 주제


1. HTML을 분석해주는 BeautifulSoup
2. 원하는 요소 가져오기 1
3. HTML의 Locator로 원하는 요소 찾기
4. 원하는 요소 가져오기 2
5. 동적 웹 페이지와의 만남

 

1~4.동적 웹 페이지와의 만남

  • 실습 파일 참고

3-1.동적 웹 페이지와의 만남


1. 정적 웹 사이트와 동적 웹 사이트

- 정적(static) 웹 사이트 : HTML 내용이 고정
- 동적(dynamic) 웹 사이트 : HTML 내용이 변함 

정적 웹 사이트는 HTML 문서가 완전하게 응답된다
동적 웹 사이트는 응답 후 HTML이 렌더링이 될 때까지의 지연시간이 존재한다.

2. 동적 웹 사이트의 동작 방식

- 웹 브라우저에선 JavaScript라는 프로그래밍 언어가 동작한다.
- 비동기 처리를 통해서 필요한 데이터를 채운다
  1) 동기 처리 : 요청에 따른 응답을 기다린다. HTML 로딩에 문제가 없다
  2) 비동기 처리 : 요청에 따른 응답을 기다리지 않는다. 상황에 따라서 데이터가 완전하지 않은 경우가 발생한다.

3. 지금까지 스크래퍼의 문제점

1.문제점
  1) 이 상황에서 요청을 보내면 불완전한 응답을 받게된다
  2) 키보드 입력, 마우스 클릭 등을 requests로는 진행하기 어렵다

2. 해결 방법
- 임의로 시간을 지연한 후, 데이터 처리가 끝난 후 정보를 가져오면 된다
- 웹 브라우저를 자동화하는 라이브러리 Selenium 사용
  1) 응답 후 시간을 지연시킬 수 있다
  2) UI와의 상호작용이 가능하다
결론.
  동적 웹사이트는 응답 후 바로 정보를 추출하기 어렵다
  또한, 다양한 키보드 입력과 마우스 클릭 등의 상호작용이 존재한다
  이런 상황을 해결하기 위해, 웹 브라우저를 파이썬으로 조작하는 전략을 취하자

0개의 댓글