본문 바로가기

이벤트

웹 크롤링 기초 강의ㅣ뉴스, 기차 예매, 여행 사이트 실습 [리뷰4]

https://mcode.co.kr/video/list2?viewMode=view&idx=92

 

메타코드M

빅데이터 , AI 강의 플랫폼 & IT 현직자 모임 플랫폼ㅣ메타코드 커뮤니티 일원이 되시기 바랍니다.

mcode.co.kr

 

Selenium을 사용한 크롤링의 기본 원리

  • 동적 콘텐츠 접근: Selenium은 웹 브라우저를 자동화하여 실제 사용자가 웹사이트를 탐색하는 것처럼 동작시킬 수 있습니다. 이를 통해 자바스크립트가 동적으로 생성하는 콘텐츠에도 접근할 수 있습니다. 
  • 자바스크립트 함수 호출: Python과 Selenium을 사용하여 웹사이트에서 자바스크립트 함수를 직접 호출할 수 있습니다. 이 방법은 동적 테이블이나 함수 결과와 같은 동적 콘텐츠를 스크래핑하는 데 유용합니다. 

 

Selenium을 사용한 크롤링은 자바스크립트로 구성된 동적 웹사이트에서 데이터를 추출하는 강력한 방법입니다. 이를 통해 전통적인 크롤링 방법으로는 얻을 수 없는 동적 콘텐츠에 접근할 수 있습니다.

정적 페이지(Static Page)

  • 고정된 내용: 정적 페이지는 서버에 저장된 파일을 그대로 전송하여 사용자에게 보여줍니다. 사용자가 요청할 때마다 항상 동일한 내용을 보여줍니다. 
  • 빠른 로딩 속도: 서버에서 추가적인 처리 없이 바로 파일을 전송하기 때문에 로딩 속도가 빠릅니다. 하지만, 내용을 변경하려면 HTML 코드를 직접 수정해야 합니다. 

동적 페이지(Dynamic Page)

  • 사용자 요청에 따른 내용 변화: 동적 페이지는 사용자의 요청이나 상황에 따라 내용이 바뀌는 페이지입니다. 서버 측에서 페이지를 실시간으로 생성하거나 수정하여 제공합니다. 
  • 서버 측 처리 필요: 동적 페이지는 서버에서 데이터를 처리하고 페이지를 생성하기 때문에 정적 페이지보다 로딩 시간이 더 걸릴 수 있습니다. 하지만, 사용자 경험을 풍부하게 하고 상호작용을 제공하는 데 유리합니다.

WebDriver Manager는 웹 드라이버의 설치 및 관리를 자동화하여, 브라우저 버전이 변경될 때마다 드라이버를 수동으로 설치하는 노력을 줄여주는 도구입니다. 웹 자동화 작업을 수행할 때, 특히 Selenium과 같은 테스팅 프레임워크를 사용할 때, 이 도구는 매우 유용합니다.

WebDriver Manager는 웹 자동화 및 테스팅 작업을 보다 쉽고 효율적으로 만들어주는 강력한 도구입니다.

for문 기본 원리

    • 반복 실행: for문은 리스트, 튜플, 문자열 등 반복 가능한(iterable) 객체를 순회하며, 각 요소에 대해 동일한 작업을 반복적으로 실행할 수 있게 해줍니다. 
    • 다양한 사용법: 데이터 분석이나 데이터 정제 작업에서 for문을 활용하여 각 데이터 항목에 대한 처리를 간편하게 할 수 있습니다. 또한, range() 함수와 함께 사용하여 특정 횟수만큼 반복 실행하는 것도 가능합니다. 
    • for 요소 in 순회할_리스트:
          원하는_작업_수행
      

예를 들어, 1부터 5까지의 숫자를 출력하고 싶다면 다음과 같이 작성할 수 있습니다.

  • python

    for i in range(1, 6):
        print(i)

f-string 기본 원리

  • 문자열 포매팅: Python 3.6부터 도입된 f-string은 문자열 내에 변수 값을 삽입하거나 표현식을 평가하여 문자열을 동적으로 생성할 수 있는 기능입니다. f 또는 F를 문자열 앞에 붙여 사용합니다. 
  • 효율적인 코드 작성: f-string은 기존의 % 연산자나 str.format() 메서드에 비해 더 간결하고 읽기 쉬운 코드를 작성할 수 있게 해줍니다. 변수나 표현식을 중괄호 {} 안에 직접 삽입하여 사용할 수 있습니다. 

for문과 f-string은 Python 프로그래밍에서 자주 사용되는 기능으로, 코드의 가독성과 효율성을 높여줍니다. for문을 통해 반복 작업을 쉽게 처리할 수 있고, f-string을 사용하여 문자열을 더욱 간편하게 포매팅할 수 있습니다.

실습하고 난 후 파일입니다. 

페이지1~13번까지 크롤링후 파일로 가져온 모습입니다. 

이를 통해서 정적 그리고 동적 웹사이트에 데이터를 크롤링하는 방법에 대해서 배워보았습니다. 

감사합니다.