본문 바로가기
Language/Python

[Python] 웹크롤링(Web Crawling) 예제

by 테리는당근을좋아해 2020. 2. 8.

웹 크롤링(Web crawling)

web상에 존재하는 contents를 수집하는 작업

 

1) HTML 페이지를 가져오는 방법

2) Rest API를 사용하는 방법

3) Selenium등 브라우저를 조작해서 가져오는 방법

 

BeautifulSoup 라이브러리 사용하기

BeautifulSoup는 파이썬에서 제공하는 HTML의 태그를 파싱해서 필요한 데이터만 추출하는 라이브러리

 

예제

라이브러리 임포트

import requests
from bs4 import BeautifulSoup

 

html 페이지 가져오기

# HTML 페이지 파싱 
soup = BeautifulSoup(res.content, 'html.parser')

 

태그이름으로 데이터 가져오기

# html 페이지에서 필요한 부분 태그 이름으로 가져오기
find_by_tag = soup.find('title')
print(find_by_tag.get_text())

 

id로 가져오기

# html 페이지에서 필요한 부분 id 값으로 가져오기
find_by_id = soup.find(id='DevOps_모델_정의')
print(find_by_id.get_text())

 

class로 가져오기

# html 페이지에서 필요한 부분 class 이름으로 가져오기
find_by_class_name = soup.find('p', 'centered-small')
print(find_by_class_name)

 

속성값으로 가져오기

# html 페이지에서 필요한 부분 속성 값으로 가져오기
find_by_attr = soup.find('p', attrs = {'align': 'center'})
print(find_by_attr)

 

해당하는 모든 부분을 불러와 리스트로 담기

# 해당하는 부분을 모두 불러와 리스트로 담기
findall = soup.find_all('p')

for f in findall:
    print(f.get_text())

'Language > Python' 카테고리의 다른 글

Multiprocessing  (1) 2023.03.24

댓글