스크랩핑 Scraping
- 웹사이트에 있는 특정 정보를 추출하는 기술을 의미. 정보를 가져오려면 사이트 분석이 필요
- 구조 분석도 포함. 로그인이 필요한 웹페이지에 접근하는 기술도 필요
크롤링 Crawling
- 웹사이트를 정기적으로 돌며 정보를 추출하는 기술
- 크롤링 프로그램을 크롤러 또는 스파이더라고 한다.
- 정기적으로 웹사이트들을 돌며 최신 정보를 데이터베이스에 저장
# 크롤링
import urllib.request
url = "<https://img1.daumcdn.net/thumb/R658x0.q70/?fname=https://t1.daumcdn.net/news/202208/19/sportskhan/20220819133522707nahy.jpg>"
savename = "blackpink.jpg"
urllib.request.urlretrieve( url, savename )
print( "저장했습니다" )
url = "<http://www.google.com/robots.txt>"
txt = urllib.request.urlopen( url )
data = txt.read().decode( "utf-8" )
# print( data )
with open( "robots.txt", "w", encoding="utf-8" ) as f :
f.write( data )
print( "저장했습니다" )
머신러닝 데이터 구조
- 웹에서 내려 받은 데이터의 구조를 분석하고 필요한 부분만 추출하는 과정이 필요
- 데이터베이스에 저장할지 파일에 저장할지 등도 결정
- 데이터의 특징을 개발자가 직접 확인하고 학습기에 입력
- CSV JSON XML YAML 등의 데이터 형식
BeutifulSoup 스크래핑
- BeutifulSoup 라이브러리를 이용하면 HTML과 XML 정보를 추출할 수 있다.