가이드라인
실습
가이드라인

CSS란?

CSS(Cascading Style Sheets)는 웹 페이지의 레이아웃, 색상, 글꼴 등을 지정하고 디자인을 꾸미는 웹 페이지의 과 같은 역할을 합니다.


CSS 선택자(CSS Selectors)는 여러 요소로 구성된 HTML 문서에서 특정 요소를 선택하기 위한 패턴입니다.

웹 크롤링에서 CSS 선택자를 사용하면 원하는 데이터가 포함된 HTML 요소를 효율적으로 찾을 수 있습니다.


기본 CSS 선택자

1. 요소 선택자

  • HTML 요소의 이름을 사용하여 해당 요소를 선택합니다.

  • 예: p 선택자는 모든 <p> 요소를 선택합니다.

HTML: paragraph 1, paragraph 2
<p>paragraph 1</p> <p>paragraph 2</p>
CSS: paragraph 1, paragraph 2 선택
p { color: blue; }

2. 클래스 선택자

  • .을 사용하여 특정 클래스를 가진 요소를 선택합니다.

  • 예: .classname 선택자는 클래스 이름이 "classname"인 모든 요소를 선택합니다.

HTML: 클래스명 classname을 가진 2개의 p 요소
<p class="classname">paragraph 1</p> <p class="classname">paragraph 2</p>
CSS
.classname { background-color: yellow; }

3. ID 선택자

  • #을 사용하여 특정 ID를 가진 요소를 선택합니다.

  • 예: #idname 선택자는 ID가 "idname"인 요소를 선택합니다.

HTML: ID명 idname을 가진 p 요소
<p id="idname">paragraph 1</p>
CSS: ID가 idname인 요소 선택
#idname { font-size: 24px; }

4. 속성 선택자

  • [속성=값] 형태로 특정 속성을 가진 요소를 선택합니다.

  • 예: [type="text"] 선택자는 type="text" 속성을 가진 모든 요소를 선택합니다.

HTML: type 속성이 text인 input 요소
<input type="text">
CSS: type 속성이 text인 input 요소 선택
input[type='text'] { border: 1px solid black; }

복합 선택자

1. 자손 선택자

  • 두 요소 사이에 공백을 사용하여, 특정 요소의 자손 요소를 선택합니다.

  • 예: div p<div> 내의 모든 <p> 요소를 선택합니다.

HTML: div 내 p 요소 2개
<div> <p>paragraph 1</p> <p>paragraph 2</p> </div> <p>paragraph 3</p>
CSS: paragraph 3 미선택
div p { color: red; }

2. 자식 선택자

  • >를 사용하여, 특정 요소의 직접 자식 요소만을 선택합니다.

  • 예: ul > li<ul>의 직접적인 자식인 <li> 요소만을 선택합니다.

HTML: ul 내 li 자식 요소 2개
<ul> <li>list 1</li> <li>list 2</li> </ul>
CSS: list 1, list 2 선택
ul > li { color: green; }

BeautifulSoup CSS 선택자 사용법

BeautifulSoup 라이브러리에서는 soup.select 메서드로 CSS 선택자를 사용할 수 있습니다.

BeautifulSoup CSS 선택자 사용 예시
from bs4 import BeautifulSoup html = """ <html> <body> <div id="wrap"> <h1 class="title">h1</h1> <p class="content">paragraph 1</p> <p class="content">paragraph 2</p> </div> </body> </html> """ soup = BeautifulSoup(html, 'html.parser') # 클래스 이름이 "content"인 모든 요소를 선택 content_elements = soup.select('.content') print(content_elements)

CSS에 대한 더 자세한 내용은 CSS 입문 강의에서 확인할 수 있습니다.


실습

화면 오른쪽 코드 실행 버튼을 누르고, 크롤링 결과를 확인하거나 코드를 수정해 보세요!

가이드라인

AI 튜터

배포

디자인

업로드

수업 노트

즐겨찾기

도움말