본문 바로가기
파이썬 업무자동화

파이썬 업무 자동화, HTML/CSS로 시작하세요!

by yourpick 2024. 10. 9.

웹 크롤링이나 웹 자동화를 하려고 파이썬을 배우다 보면, 막상 HTML 태그나 CSS 선택자를 마주치면 멘붕이 오는 경우가 종종 있죠? 아니, 솔직히 저도 그랬어요. 😅 파이썬으로 뭔가 뚝딱뚝딱 만들어서 자동으로 움직이는 걸 보면 엄청 뿌듯하고 신기한데, 웹페이지 구조가 좀만 바뀌거나 내가 원하는 데이터 위치가 달라지면 갑자기 멘붕에 빠지게 되더라고요.

웹 자동화, 특히 웹 크롤링을 좀 제대로 해보려면 HTML과 CSS를 알아야만 한다는 걸 깨달았어요. 두 언어를 제대로 공부하려면 책 한 권씩은 봐야 할 정도로 깊이 있는 내용이지만, 웹 크롤링을 위한 최소한의 개념만 파악해도 충분히 활용할 수 있답니다! 자, 그럼 지금부터 HTML과 CSS의 기본적인 구조와 개념을 파이썬 웹 자동화에 초점을 맞춰 알아보도록 할게요!

HTML 구조: 웹 페이지의 뼈대

HTML(HyperText Markup Language)은 웹 페이지의 기본적인 구조를 만드는 언어에요. 마치 건물의 설계도처럼 웹 페이지의 콘텐츠를 어떻게 배치하고 구성할지 정의하는 역할을 하죠. 쉽게 말해, HTML은 다양한 **태그(Tag)**들을 사용해서 웹 페이지의 콘텐츠를 묶고, 표현하는 거라고 생각하면 돼요.

태그의 세계: 웹 페이지를 구성하는 기본 단위

HTML 문서는 여러 개의 태그로 이루어져 있고, 각 태그는 특정한 의미를 가지고 있어요. 예를 들어, <h1> 태그는 가장 큰 제목을 나타내고, <p> 태그는 단락을 나타내는 것처럼 말이죠. 태그의 종류는 정말 다양한데, 웹 크롤링을 할 때 자주 마주치는 몇 가지 태그들을 표로 정리해봤어요.

태그 이름 설명
<html> HTML 문서의 시작과 끝을 나타냅니다.
<head> 웹 페이지의 제목, 인코딩 정보, 스타일 시트 연결 등을 포함합니다.
<body> 웹 페이지에 표시될 실제 콘텐츠를 포함합니다.
<title> 웹 페이지의 제목을 정의합니다.
<h1> ~ <h6> 제목을 나타냅니다. 숫자가 작을수록 제목의 크기가 커집니다.
<p> 단락을 나타냅니다.
<a> 링크를 나타냅니다.
<img> 이미지를 나타냅니다.
<ul> 순서 없는 목록을 나타냅니다.
<ol> 순서 있는 목록을 나타냅니다.
<li> 목록 항목을 나타냅니다.
<table> 표를 나타냅니다.
<tr> 표의 행을 나타냅니다.
<td> 표의 셀을 나타냅니다.

속성: 태그에게 특별한 능력을 부여하다

HTML 태그는 그 자체로 의미를 가지지만, 때때로 더 자세한 정보를 추가할 필요가 있어요. 이때 사용하는 것이 바로 **속성(Attribute)**이에요. 속성은 태그의 특징이나 기능을 더욱 명확하게 나타내주는 역할을 하죠.

가령, <img> 태그에 src 속성을 사용해서 이미지 파일의 경로를 지정하거나, <a> 태그에 href 속성을 사용해서 링크될 페이지의 주소를 지정하는 것처럼요.

그중에서도 **id**와 class 속성은 웹 크롤링을 할 때 특히 중요해요.

  • id: 웹 페이지 내에서 유일한 고유한 이름을 붙여주는 역할을 합니다. 하나의 웹 페이지에서 같은 id를 가진 태그는 존재할 수 없어요.
  • class : 비슷한 특징을 가진 태그들을 묶어서 구분할 때 사용합니다. 하나의 웹 페이지에서 같은 class를 가진 태그는 여러 개 존재할 수 있죠.

HTML 콘텐츠: 태그 안에 담긴 내용

태그 안에는 실제 웹 페이지에 표시될 내용, 즉 **콘텐츠(Content)**가 들어가요. 텍스트, 이미지, 비디오 등 다양한 콘텐츠가 태그 안에 담겨서 웹 페이지를 구성하는 거죠. 이 콘텐츠는 프로그래머가 직접 작성하거나, 웹 크롤링을 통해 다른 웹 페이지에서 가져올 수도 있습니다.

CSS 구조: 웹 페이지를 꾸미는 마법

HTML로 웹 페이지의 뼈대를 만들었다면, 이제 CSS(Cascading Style Sheets)를 사용해서 웹 페이지를 꾸며볼 차례에요. CSS는 HTML 요소의 스타일을 지정하는 언어로, 색상, 글꼴, 크기, 배치 등을 자유롭게 바꿀 수 있답니다.

마치 화가가 캔버스에 그림을 그리듯, CSS를 사용해서 HTML로 만들어진 밋밋한 웹 페이지에 생기를 불어넣을 수 있는 거죠! 🎨

CSS 선택자: HTML 요소를 골라내는 능력

CSS를 통해 HTML 요소의 스타일을 바꾸려면, 먼저 어떤 요소를 바꿀지 정확하게 지정해야 해요. 이때 사용하는 것이 바로 **선택자(Selector)**입니다. 선택자는 HTML 요소를 찾아내는 역할을 수행하는 일종의 주소와 같아요.

예를 들어, #headeridheader인 요소를, .paragraphclassparagraph인 요소를 선택하는 것처럼요.

CSS 속성: 스타일을 정의하는 마법 주문

선택자를 통해 원하는 HTML 요소를 찾았다면, 이제 그 요소에 적용할 스타일을 정의해야 해요. 이때 사용하는 것이 바로 **속성(Property)**과 **값(Value)**이에요.

속성은 어떤 스타일을 변경할지 나타내고, 값은 어떻게 변경할지 나타내는 거라고 생각하면 돼요.

예를 들어, color: red;는 요소의 색상을 빨간색으로, font-size: 16px;는 글꼴 크기를 16픽셀로 변경하는 것처럼요.

CSS 선택자 활용 예시: 네이버 검색창 크롤링

CSS 선택자를 실제로 어떻게 활용하는지 궁금하시죠? 간단한 예시를 통해 알아볼게요.

  1. 크롬 브라우저로 네이버에 접속해 보세요.
  2. 개발자 도구(단축키: F12)를 열고, 네이버 검색창의 HTML을 살펴보세요.
  3. 검색창의 HTML을 우클릭하고, "Copy" - "Copy selector"를 클릭합니다.
  4. 파이썬 코드 편집기에 Ctrl+V를 눌러 복사한 내용을 붙여넣으면, #query와 같은 CSS 선택자가 나타납니다.

#query를 파이썬 코드에서 Selenium 라이브러리의 find_element_by_css_selector 함수와 함께 사용하면, 네이버 검색창 요소를 찾아서 제어하거나, 검색창에 있는 데이터를 가져올 수 있답니다.

파이썬을 활용한 업무 자동화: HTML & CSS의 활용

이제 HTML과 CSS의 기본적인 개념을 알았으니, 파이썬을 이용해서 어떻게 웹 자동화를 할 수 있는지 간단하게 살펴볼게요. 파이썬은 웹 크롤링 및 자동화를 위한 다양한 라이브러리를 제공하고 있어서, 반복적인 업무를 자동으로 처리하는 데 유용하게 사용할 수 있어요.

웹 자동화 라이브러리: Selenium

Selenium은 웹 브라우저를 자동으로 제어하는 데 사용되는 파이썬 라이브러리에요. 웹 페이지를 열고, 버튼을 클릭하고, 텍스트를 입력하고, 데이터를 추출하는 등의 작업을 자동으로 수행할 수 있죠.

Selenium을 사용하면 HTML과 CSS 선택자를 활용하여 웹 페이지의 특정 요소를 찾아서 제어할 수 있답니다.

예를 들어, Selenium과 CSS 선택자를 이용하여 특정 웹 페이지의 상품 목록을 가져오거나, 특정 조건에 맞는 상품만 추출하여 엑셀 파일에 저장하는 작업을 자동화할 수 있죠.

웹 크롤링: 정보를 자동으로 수집하는 능력

웹 크롤링은 웹 페이지에서 원하는 정보를 자동으로 수집하는 기술이에요. Selenium과 같은 라이브러리를 사용하여 웹 페이지를 순회하면서 필요한 데이터를 추출하고, 이를 저장하거나 분석하는 작업을 수행합니다.

업무 자동화의 활용: 엑셀, 데스크탑, 이메일 자동화

HTML과 CSS 지식은 웹 자동화뿐만 아니라, 다른 업무 자동화에도 도움이 된답니다. 예를 들어, 엑셀 파일을 자동으로 생성하거나, 데스크탑 애플리케이션을 제어하거나, 이메일을 자동으로 송수신하는 작업에도 활용할 수 있습니다.

맺음말

HTML과 CSS는 웹 페이지의 구조와 스타일을 정의하는 언어로, 웹 크롤링 및 자동화 작업에 필수적이에요. 파이썬과 Selenium과 같은 라이브러리를 활용하면 웹 페이지를 자동으로 제어하고, 데이터를 추출하여 업무 효율성을 높일 수 있답니다.

HTML과 CSS를 처음 접하더라도, 겁먹지 말고 핵심 개념만 파악하면 충분히 활용할 수 있다는 점을 기억하세요! 😉 파이썬 업무 자동화를 통해 반복적인 작업에서 벗어나, 더욱 의미 있는 일에 집중할 수 있도록 도와드릴게요.

QnA

Q1. HTML과 CSS를 꼭 알아야 파이썬으로 웹 자동화를 할 수 있나요?

A1. 웹 자동화를 아주 간단하게 하고 싶다면 꼭 알 필요는 없어요. 하지만 웹 페이지의 구조가 조금만 바뀌어도 크롤링 코드가 망가지는 경우가 많고, 원하는 데이터를 정확하게 추출하려면 HTML과 CSS에 대한 기본적인 이해가 필수적이에요.

Q2. 웹 크롤링을 할 때 Selenium 말고 다른 라이브러리를 사용할 수도 있나요?

A2. 네, Selenium 외에도 Beautiful Soup, Scrapy와 같은 라이브러리를 사용할 수 있습니다. 각 라이브러리마다 장단점이 있으니, 본인의 목적에 맞는 라이브러리를 선택해서 사용하면 돼요.

Q3. 파이썬 업무 자동화를 배우려면 어떤 것부터 시작해야 하나요?

A3. 파이썬 기본 문법을 익히고, Selenium이나 BeautifulSoup과 같은 웹 크롤링 라이브러리를 활용하는 방법을 배우는 것이 좋아요. 그리고 다양한 예제를 통해 실제로 웹 자동화를 해보면서 감을 익히는 것이 중요하죠.

마무리

파이썬, 업무 자동화, 웹 크롤링, 웹 자동화, HTML, CSS, 셀레니움, Beautiful Soup, 스크래핑, 데이터 수집, 자동화, 효율성, 개발, 프로그래밍, 코딩, 파이썬 스터디, 파이썬 강의, Python

파이썬, 업무자동화, 웹크롤링, 웹자동화, HTML, CSS, 셀레니움, 뷰티풀수프, 스크래핑, 데이터수집, 자동화, 효율성, 개발, 프로그래밍, 코딩, 파이썬스터디, 파이썬강의, 파이썬

 

관련 포스트 더 보기