본문으로 건너뛰기

HTML 파싱이란?

HTML 파싱이란?

HTML 파싱은 HTML 문서에서 데이터를 읽고, 그 구조를 분석하여 프로그램에서 사용할 수 있도록 하는 과정입니다.

이를 통해 웹페이지의 특정 요소를 추출하고 조작할 수 있습니다.


HTML 문서 파싱

  1. BeautifulSoup 객체 생성

    • 파싱할 HTML 문서와 함께 BeautifulSoup 객체를 생성합니다.
    • 이 객체를 통해 HTML 요소에 접근하고 조작합니다.
    BeautifulSoup 객체 생성
    from bs4 import BeautifulSoup

    html_doc = "<html><head><title>Hello World</title></head><body>...</body></html>"
    soup = BeautifulSoup(html_doc, 'html.parser')
  2. 문서 구조 이해

    • HTML 문서는 태그들의 계층적 구조로 이루어져 있습니다.

    • <html>, <head>, <body>, <div>, <span>, <p> 등 다양한 태그들이 사용됩니다.


주요 요소 추출 방법

  1. 특정 태그 찾기

    • find()find_all() 메소드를 사용하여 특정 태그를 찾습니다.

    • find()는 첫 번째 매치되는 태그를, find_all()은 모든 매치되는 태그를 리스트로 반환합니다.

    특정 태그 찾기
    # 첫 번째 <p> 태그 찾기
    first_p = soup.find('p')

    # 모든 <a> 태그 찾기
    all_links = soup.find_all('a')

  1. 태그 내용 추출

    • 태그 객체에서 .text 속성을 사용하여 텍스트 내용을 추출합니다.
    태그 내용 추출
    # 첫 번째 <p> 태그의 텍스트 내용
    text = first_p.text

  1. 태그의 속성 접근

    • 태그의 속성에 접근하려면 태그 객체를 딕셔너리처럼 사용합니다.

    • 예를 들어, <a href="url"> 태그에서 href 속성의 값을 가져옵니다.

    태그의 속성 접근
    # 첫 번째 <a> 태그의 href 속성 값
    href_value = all_links[0]['href']

실습

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