인프런 - 파이썬입문과 크롤링기초 부트캠프: 섹션 3 - HTML 이해를 바탕으로 크롤링하기

르네·2023년 9월 28일
0

Python

목록 보기
19/45

인프런 강의 <파이썬입문과 크롤링기초 부트캠프>을 듣고, 중요한 점을 정리한 글입니다.

HTML 이해를 바탕으로 크롤링하기

from bs4 import BeautifulSoup
html = """
<html>
    <body>
        <h1 id='title'>[1]크롤링이란?</h1>
        <p class='cssstyle'>웹페이지에서 필요한 데이터를 추출하는 것</p>
        <p id='body' align='center'>파이썬을 중심으로 다양한 웹크롤링 기술 발달</p>
    </body>
</html>
"""
soup = BeautifulSoup(html, "html.parser")
data = soup.find('h1')
print(data.string)

data = soup.find('h1')
-> 결과값: [1]크롤링이란?

p 태그 문장이 두 개인데 이 중에 하나를 선택하려면?

  1. data = soup.find('p', class_='cssstyle')
  2. data = soup.find('p', 'cssstyle')
  3. data = soup.find('p', attrs = {'align': 'center'})
  4. data = soup.find(id='body')
from bs4 import BeautifulSoup
html = """
<html>
    <body>
        <h1 id='title'>[1]크롤링이란?</h1>
        <p class='cssstyle'>웹페이지에서 필요한 데이터를 추출하는 것</p>
        <p id='body' align='center'>파이썬을 중심으로 다양한 웹크롤링 기술 발달</p>
    </body>
</html>
"""
soup = BeautifulSoup(html, "html.parser")
data = soup.find('p', class_='cssstyle')
print(data.string)

data = soup.find('p', class_='cssstyle')
data = soup.find('p', attrs={'class':'cssstyle'})
-> 결과값: 웹페이지에서 필요한 데이터를 추출하는 것

data = soup.find('p', attrs={'id':'body', 'align':'center'})
data = soup.find('p', attrs={'id':'body'})
-> 결과값: 파이썬을 중심으로 다양한 웹크롤링 기술 발달

p 태그 문장을 모두 가져오려면?

find_all() 함수 사용하기

data = soup.find_all('p')
for item in data:
print(item.get_text())

ex.

from bs4 import BeautifulSoup
html = """
<html>
    <body>
        <h1 id='title'>[1]크롤링이란?</h1>
        <p class='cssstyle'>웹페이지에서 필요한 데이터를 추출하는 것</p>
        <p id='body' align='center'>파이썬을 중심으로 다양한 웹크롤링 기술 발달</p>
    </body>
</html>
"""
soup = BeautifulSoup(html, "html.parser")
data = soup.find_all('p')
for item in data:
    print(item.string)

-> 결과값
: 웹페이지에서 필요한 데이터를 추출하는 것
파이썬을 중심으로 다양한 웹크롤링 기술 발달

속성중에 가장 원하는 데이터들만 선택하기 수월한 속성: 클래스

-> CSS 언어를 이해할 필요가 있다.

profile
데이터분석 공부로그

0개의 댓글