CodeGym /행동 /Frontend SELF KO /대화 마크업 요소

대화 마크업 요소

Frontend SELF KO
레벨 10 , 레슨 4
사용 가능

1. 웹 스크래핑을 위한 CSS의 기본 개념

성공적인 웹 스크래핑을 위해서는 HTML 구조와 페이지의 CSS 클래스를 이해하는 것이 중요해. 페이지 요소가 CSS로 어떻게 스타일링되고 구조화되어 있는지 이해하면, 필요한 데이터를 더 정확하게 선택하고 추출할 수 있어. HTML에 CSS를 연결하는 것, 셀렉터를 사용하는 방법, 그리고 style, class, id, name 속성이 웹 페이지의 구조에서 스크래핑에 어떻게 도움되는지 알아보자.

CSS는 웹 페이지의 스타일링을 담당하지만, 웹 스크래핑의 목적으로는 CSS를 구조를 이해하고 요소를 선택하는 도구로 볼 수 있어. 스크래핑에 중요한 CSS의 주요 개념을 알아보자:

  • 셀렉터 — 특정 HTML 요소를 지시하는 규칙이야. 이를 사용하면 필요한 데이터를 정확하게 식별할 수 있어.
  • class, id, name 속성 — 이들은 요소를 구분하고 구별하는 데 도움을 주는 고유 식별자들이야. 스크래핑에서는 필요한 요소를 분리하는 데 특히 유용해, 데이터 추출을 더 쉽게 만들어 주거든.

2. HTML 문서에 CSS 연결하기

CSS는 다양한 방법으로 HTML에 연결될 수 있어. 요소를 탐색하고 스타일 및 클래스를 결정하는 데 이러한 방식을 이해하는 것이 중요해, 그래야 목표 데이터를 분리할 수 있으니까.

외부 파일

CSS는 종종 외부 파일 형태로 연결되는데, 이는 HTML 문서의 <head> 섹션에서 <link> 태그를 통해 볼 수 있어. 외부 CSS 파일은 페이지 전체의 스타일을 정의하고, 아이디와 클래스를 포함해주니까, 스크래핑할 때 탐색이 더 쉬워져.

HTML

<head>
    <link rel="stylesheet" href="styles.css">
</head>
    

내부 스타일

가끔은 스타일이 <style> 태그를 사용해 페이지 내부에서 정의되기도 해. 내부 스타일은 페이지의 <head>에 위치해 있고, 필요한 요소를 선택할 수 있는 클래스와 아이디에 대한 힌트를 제공해.

HTML

<head>
<style>
  .price {
    color: red;
  }
</style>
</head>

내장 스타일 (속성 style)

내장 스타일은 HTML 태그 안에 직접 위치하며, 특정 요소에만 영향을 미쳐. style 속성은 목표 데이터를 식별하는 데 유용할 수 있는 고유 속성을 자주 포함하고 있어.

HTML

<p style="color: red; font-size: 18px;">내장 스타일이 있는 텍스트</p>
HTML

<p style="color: red; font-size: 18px;">내장 스타일이 있는 텍스트</p>

3. CSS의 셀렉터

CSS의 셀렉터는 요소에 스타일을 적용하는 데 사용되지만, 웹 스크래핑에서는 필요한 데이터를 포함하는 요소를 정확하게 선택하는 데 주로 사용돼. 웹 스크래핑에 사용할 수 있는 주요 셀렉터 유형을 알아보자.

주요 셀렉터 유형

태그 셀렉터: 이 셀렉터는 특정 태그의 모든 요소를 선택해줘 (예: <p><div>). 웹 스크래핑에서 태그 셀렉터는 텍스트, 이미지 및 기타 정보를 포함할 수 있는 태그에서 정보를 추출하는 데 유용해.

CSS

p {
  color: blue;
}
    

클래스 셀렉터: 이 셀렉터는 특정 class 속성 값을 가진 요소를 선택해. 클래스는 점(.)으로 이름 앞에 표시돼. 웹 스크래핑에서 클래스는 동일한 스타일을 가진 요소를 식별하는 데 특히 유용해, 예를 들어 상품 리스트처럼 말이야.

CSS

.price {
    color: red;
  }
CSS

.price {
    color: red;
  }
HTML

<p class="price">가격: $99</p>

아이디 셀렉터 (ID): 이 셀렉터는 고유한 id 속성을 가진 요소를 선택해, # 기호로 표시돼. 웹 스크래핑에서 id는 제목이나 페이지의 버튼처럼 고유한 요소를 선택하는 데 특히 유용해.

CSS

#product-title {
  font-size: 24px;
}
    
HTML

<h1 id="product-title">제품명</h1>
    

속성 셀렉터: 이 셀렉터는 name, type 등의 특정 속성에 따라 요소를 선택해. 웹 스크래핑에서 속성 셀렉터는 폼 요소나 특정 필드를 선택하는 데 유용해, 예를 들어 특정 name을 가진 필드를 선택하는 것처럼 말이야.

CSS

input[name="email"] {
  border: 2px solid blue;
}
    

복합 셀렉터: 이 셀렉터는 여러 기준을 결합하여 요소를 더 정확하게 선택할 수 있게 해줘. 예를 들어, .product-list .priceproduct-list 컨테이너 안의 제품 가격만 선택해.

속성 셀렉터와 복합 셀렉터에 대해서는 다음 강의에서 더 자세히 알아볼 거야.

4. style, class, idname 속성

style 속성

style 속성은 요소에 내장 스타일을 추가하는 데 사용되며, 다른 속성으로 식별하기 어려운 요소를 구별하는 표시가 될 수 있어. 웹 스크래핑에서는 페이지에서 특정 요소를 찾기 위한 추가 필터로 사용할 수 있어.

HTML

<p style="color: red; font-size: 18px;">이 텍스트는 내장 스타일로 강조됩니다.</p>
    

class 속성

class 속성은 상품, 가격 또는 설명과 같은 동일한 스타일을 가진 요소 그룹을 나타내. 스크래핑 시 class는 동일한 시각적 구조를 가진 요소 그룹을 선택하는 데 도움을 줘, 데이터 대량 추출이 더 쉬워지지.

HTML

<p class="price">가격: $99</p>
<p class="price">가격: $89</p>
    
CSS

.price {
  color: red;
}
    

id 속성

id 속성은 각 요소에 고유하게 부여되므로 고유 데이터를 추출할 때 유용한 기준이 돼. 예를 들어, 페이지의 상품 제목이 고유한 id를 가질 수 있으며, 이를 사용해 해당 제목을 정확히 선택할 수 있어.

HTML

<h1 id="main-title">제품명</h1>
    
CSS

#main-title {
  font-size: 30px;
}
    

name 속성

name 속성은 주로 폼 요소에서 사용되며, 이메일 또는 전화번호와 같은 입력 필드를 정확히 선택하는 데 사용할 수 있어. 웹 스크래핑에서는 name이 폼에서 데이터를 추출할 때 유용해.

HTML

<input type="text" name="username" placeholder="사용자 이름 입력">
    
CSS

input[name="username"] {
  border: 1px solid #333;
}
    

5. CSS와 HTML을 사용한 페이지 예제

아래는 다양한 셀렉터와 속성을 사용하여 스크래핑에 유용한 요소를 강조하고 구조화하는 HTML 문서 예제야.

HTML

<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset="UTF-8">
  <title>웹 스크래핑을 위한 페이지 예제</title>
  <link rel="stylesheet" href="styles.css">
  <style>
    .price {
      color: red;
      font-weight: bold;
    }
  </style>
</head>
<body>
  <h1 id="main-title">이번 주의 제품</h1>
  <p class="price">가격: $99</p>
  <p class="description">이것은 뛰어난 특성을 가진 독특한 제품입니다.</p>
  
  <form action="/submit" method="post">
    <label for="username">사용자 이름:</label>
    <input type="text" id="username" name="username">
    
    <label for="email">이메일:</label>
    <input type="email" id="email" name="email">
    
    <button type="submit">제출</button>
  </form>
</body>
</html>
    
HTML

    <!DOCTYPE html>
    <html lang="ko">
    <head>
      <meta charset="UTF-8">
      <title>웹 스크래핑을 위한 페이지 예제</title>
      <link rel="stylesheet" href="styles.css">
      <style>
        .price {
          color: red;
          font-weight: bold;
        }
      </style>
    </head>
    <body>
      <h1 id="main-title">이번 주의 제품</h1>
      <p class="price">가격: $99</p>
      <p class="description">이것은 뛰어난 특성을 가진 독특한 제품입니다.</p>
      
      <form action="/submit" method="post">
        <label for="username">사용자 이름:</label>
        <input type="text" id="username" name="username">
        
        <label for="email">이메일:</label>
        <input type="email" id="email" name="email">
        
        <button type="submit">제출</button>
      </form>
    </body>
    </html>
        
CSS

#main-title {
  font-size: 24px;
  color: green;
}

input[name="username"] {
  border: 1px solid #333;
  padding: 5px;
}
    
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION