서론 BeautifulSoup과 Selenium은 웹 스크래핑/크롤링하는 데 사용되는 Python 라이브러리이다. 두 개 모두 웹 페이지 정보를 얻기 위해 사용되는데, 언제 BeautifulSoup/Selenium을 사용해야 하는지 판단하기가 어려웠다. 이를 해결하기 위해 동적/정적 웹 페이지와 수집 방법의 개념을 이해하고, 각 라이브러리는 어떤 차이가 있는지 확인해보려고 한다. 동적 vs 정적 beautifulsoup와 selenium 사용을 구분하는 가장 중요한 요소는 "동적(dynamic)"과 "정적(static)"이다. 웹 페이지 웹 페이지는 생성될 때 HTML 내용이 고정된 "정적 웹 사이트"와 HTML 내용이 변하는 "동적 웹 사이트"로 구분한다. 정적 웹 페이지 정적 웹 페이지란 서버에 미리..
서론 데브코스 : 데이터 엔지니어링을 수강하면서 동적 웹 스크래핑을 진행하기 위한 Selenium 라이브러리를 배웠다. 강의에서 배운 내용을 다시 한번 활용해 보며, 익숙해지기 위해 해당 프로젝트(?)를 진행하였다. 단지 몇 시간 동안 들은 강의이고, 웹 관련 배경 지식이 없기 때문에 올바른 코드인지 확신할 수는 없지만, 강의 내용을 복습하는 것에 의의를 두려고 한다. 그래서 진행할 프로젝트는 무난하게 진행할 수 있는 영화 사이트의 리뷰를 스크래핑 및 시각화이다. 작성한 코드를 설명하고, 왜 해당 코드를 작성하였는지 설명하는 방식으로 진행할 것이다. 개발 환경 : Colab - Python 라이브러리 : Selenium, wordcloud, matplotlib, seaborn, collections, k..
시각화 라이브러리, Seaborn 스크래핑의 결과는 대부분 텍스트로 이루어져 있다. 그런데 텍스트 만으로 확인하기에는 인사이트를 얻기에 무리가 있다. 이러한 정보를 요약해서 한눈에 보여주는 방법으로 시각화(Visualization)를 활용한다. Seaborn 라이브러리 matplotlib을 기반으로 하는 시각화 라이브러리이다. 다양한 그래프를 고수준(high-level) 즉, 짧은 코드로도 품질 좋은 시각화를 진행할 수 있다. Seaborn 설치 및 불러오기 %pip install seaborn import seaborn as sns 꺾은선 그래프(Line Plot) lineplot을 통해 꺾은선 그래프를 그릴 수 있다. sns.lineplot(x=[1, 3, 2, 4], y=[4, 3, 2, 1]) 막..
HTTP(HyperText Transfer Protocol)란?HTTP는 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 계층의 최상단인 Application Layer에 해당하며, Client-Server 모델을 바탕으로 서버는 클라이언트에게 데이터를 제공한다. 즉, 사용자(클라이언트)가 서버에 데이터를 요청하면 서버에서 데이터를 제공해 주는 것이다. 여기서는 HTTP에 대한 자세한 내용보다는 HTTP에 대한 전반적인 이해를 하는 것을 목표로 한다.프로토콜(Protocol) : 웹 상에서 정보를 주고받기 위한 약속/규약클라이언트(Client) : 정보를 요청하는 컴퓨터서버(Server) : 정보를 제공하는 컴퓨터 HTTP 동작사용자가 브라우저를 통해 URL을 통하거나 다..