본문 바로가기
개발공부

크롤링(1)기본 구조와 HTML

by 무황이 2025. 3. 28.
예전 블로그 글을 가져왔습니다
https://velog.io/@eunv0110/%ED%81%AC%EB%A1%A4%EB%A7%81-%EA%B8%B0%EB%B3%B8-%EA%B5%AC%EC%A1%B0%EC%99%80-HTML


크롤링이란 웹페이지에서 필요한 데이터를 추출하는 것을 말한다

이 과정은 크게 이렇게 이루어진다

 

1. 라이브러리 임포트

import requests
from bs4 import BeautifulSoup



- requests : 웹페이지 가져오기 라이브러리

- BeautifulSoup : 웹페이지 분석하는 라이브러리

 

2. 웹페이지 가져오기

res=requests.get('url')


requests라는 객체에서 get라는 메소드를 사용하여 url을 통해 웹페이지를 가져와 res라는 변수에 넣어줌

3. 웹페이지 분석하기

soup=BeautifulSoup(res.content,'html.parser')


soup라는 변수안에 분석된 내용을 넣어준다

 

4. 필요한 데이터 추출하기

mydata=soup.find()
print(mydata.get_text())


- soup.find(): 함수로 원하는 부분 지정
- 변수.get_text(): 추출한 부분 가져올 수 있음


이 과정에서 알아야할 것은 html/css이다
내가 어떤 부분을 가져오고 싶은지 빠르게 파악하려면 html과 css에 대해 간략하게라도 아는 것이 좋다

HTML은 마크업 언어이다 
즉 문서나 데이터의 구조를 표현하는 언어를 의미한다
HTML은 여러가지 태그로 이루어져있다 (이거는 그때그때 찾아보면 될거 같다)
특정 속성을 가져오는 방법은 여러가지가 있다 (태그가 여러번 쓰이기 때문에 중복되는 경우 내가 원하는 데이터만 쏙 뽑아서 가져오기 어렵기 때문에 특정 속성을 가져오는 방법을 알아야한다)


이때 만약에 p태그를 모조리 다 가져오고 싶다?
그 경우에는 find_all('p')함수를 써주면 된다
단 이 경우에는 데이터가 리스트 형식으로 크롤링 되기 때문에 for 구분을 통해 하나씩 출력해주면 된다

내일은 CSS을 이용해서 데이터 크롤링하는 법을 정리하겠다

 

'개발공부' 카테고리의 다른 글

생성형 AI란?  (1) 2025.03.03