본문 바로가기

데브코스/TIL

[TIL] 3주차_Day8: 파이썬 웹 크롤링(3)

💡Today I Learned

  • 파이썬을 이용한 웹 크롤링 기술에 대한 세 번째 강의를 진행했습니다.
  • request, beautifulsoup 이용한 html parsing, find 실습

 


1. BeautifulSoup

: html 코드를 분석해주는 파이썬의 html parser 라이브러리

: 특정 태그로 묶인 요소만 보고싶을 때

*) 다른 markup 언어(XML 등)의 parser로도 사용 가능함

 

2. BeautifulSoup 활용 해 특정 요소만 가져오기

 

3. HTML의 Locator

: 태그 이름만 가지고는 원하는 요소 특정하기 불편.. (같은 이름의 태그가 매우 많을 수 있음)

: id, class로 원하는 태그 한정짓기

 

4. 정적/동적 웹 사이트

: 어떻게 생성되는지에 따라 두 종류로 나눔

: 정적 - html 내용이 고정됨 (같은 주소로 요청 보내면 항상 같은 응답), html 문서가 완전하게 응답함

: 동적 - html 내용이 변함, 응답 후 html이 렌더링 될 때까지의 지연시간이 존재

 

5. 동적 웹사이트 동작 방식

: 웹 브라우저에서는 JavaScript라는 언어가 동작함

: 비동기 처리를 위해 필요한 데이터를 응답 이후 채움

: 동기 = 요청에 따른 응답을 기다림 (렌더링 다 하고 → 데이터 처리), html 코드 열었을 때 온전한 데이터로 로딩이 필요하지 x

: 비동기 = 요청에 따른 응답을 기다리지 않음 (렌더링 처리 & 실행되는 와중에 데이터 처리), 상황에 따라 데이터가 완전하지 않은 경우 발생

 

6. 스크래퍼의 문제점

: 데이터 처리 완료되지 않은 시점에서 파싱 진행 시 불완전한 응답(원하는 요소 아직 불러오지 못할 수 있음) 임의의 시간을 지연 후 데이터 처리 끝난 정보 가져오기

: 이벤트(키보드 입력, 마우스 클릭, ..) 등을 requests로는 진행하기 어려움 → 이런 상호작용을 프로그래밍 통해 작업 웹 브라우저를 파이썬으로 조작하기

: selenium = 웹 브라우저를 자동화하는 라이브러리

 

 

반응형