본문 바로가기
# Study/크롤링

[크롤링 기초] 라이브러리와 크롤링 준비 (request, beautifulsoup4 맛보기)

by Jiy0ung 2022. 1. 13.

📌라이브러리

크롤링을 하기 위해서는 라이브러리를 사용해야한다.

라이브러리란, 프로그래밍을 할 때 코드를 작성하지 않고 필요한 기능을 수행할 수 있도록 마련된

함수와 메소드의 집합이다.

 

이름에서 알 수 있듯 도서관(library)에서 책을 꺼내 보는 것처럼,우리가 필요한 기능과 동작이 미리 구현된 파이썬 라이브러리를 사용하면 된다.

 

물론, 파이썬 환경이 방대한 만큼 수십, 수만개의 라이브러리가 존재한다.하지만 모든 라이브러리를 알 필요가 없기 때문에, 어떠한 기능을 구현할 때 어떤 라이브러리를 사용해야 한다는 정도만 알면 된다 :)

 

📌정적 크롤링

이번 공부에서는 정적 크롤링을 할 때

파이썬의 requests와 beautifulsoup4(BeautifulSoup) 두 가지 라이브러리를 사용한다 :)

 

requests

requests 라이브러리는 기존에 어려운 HTTP 요청을 쉽게 사용하기 위해 만들어진 라이브러리다.

쉽게 말해, 파이썬과 웹을 연결하기 위해 사용 한다.

 

터미널을 관리자 권한으로 실행하여 아래의 명령어를 입력한다.

pip install requests

설치가 완료되면 잘 설치 되어있는지 확인을 하기위해 아래의 코드를 작성하여 실행한 뒤,

아래 사진처럼 오류가 발생하지 않고 requests installed! 가 출력되면 정상이다 :)

❗import란?

import [라이브러리 이름]

라이브러리 이름과 함께 사용하여 라이브러리를 불러오는 것이다!

불러온 라이브러리는 파이썬 코드에서 사용할 수 있게 된다 :)

 

 

beautifulsoup4

beautifulsoup4는 requests로 받아온 HTML 데이터를 다루기 위해 사용되는 라이브러리다.

쉽게 말해서 웹에 있는 다양한 데이터 중 필요한 데이터만 뽑아내기 위해 사용된다.

 

requests와 마찬가지로 beautifulsoup4 라이브러리를 설치해준다.

pip install beautifulsoup4

설치 후, 동일한 방법으로 정상적으로 설치되었는지 확인한다 :)

beautifulsoup4는 라이브러리 설치 이름과,

import구문에서 사용되는 이름이 다르다는 특징이 있기 때문에 아래와 같이 코드를 입력하여 실행한다.

 

라이브러리 설치를 마쳤으니, 간단한 맛보기 코드를 작성해 실행해볼 것이다!

 

📌맛보기

네이버 웹툰의 요일 별 상위 웹툰을 받아오는 코드를 작성한다.

#라이브러리 불러오기
import requests
import bs4

#웹 페이지를 열고 소스코드를 읽어오는 작업
req = requests.get("https://comic.naver.com/webtoon/weekday")

html = bs4.BeautifulSoup(req.text, 'html.parser')

#요일별 웹툰 영역 추출하기
columns = html.find_all('div',{'class':'col_inner'})

#요일별 top5 웹툰 제목 출력
for column in columns:
    day = column.find('h4').text
    webtoons = column.find_all('a', {'class' : 'title'})[:5]
    print(day)
    for index in range(len(webtoons)):
        title = webtoons[index].text
        print(f"{index+1}. {title}")
    print()

 

위 코드를 실행하면 아래 출력 결과 처럼 요일별 top5 웹툰의 제목이 출력된다:)

 

월요 웹툰
1. 쇼미더럭키짱!        
2. 참교육
3. 신의 탑
4. 2022 서브병에 빠지다!
5. 소녀의 세계

화요 웹툰
1. 쇼미더럭키짱!        
2. 김부장
3. 여신강림
4. 2022 서브병에 빠지다!
5. 1을 줄게

수요 웹툰
1. 쇼미더럭키짱!
2. 전지적 독자 시점
3. 조조코믹스
4. 헬퍼 2 : 킬베로스
5. 화산귀환

목요 웹툰
1. 쇼미더럭키짱!
2. 독립일기
3. 연애혁명
4. 더 복서
5. 나노마신

금요 웹툰
1. 쇼미더럭키짱!
2. 외모지상주의
3. 나 혼자 만렙 뉴비
4. 2022 서브병에 빠지다!
5. 내과 박원장

토요 웹툰
1. 조조코믹스
2. 2022 서브병에 빠지다!
3. 취사병 전설이 되다
4. 프리드로우
5. 먹는 인생

일요 웹툰
1. 독립일기
2. 싸움독학
3. 입학용병
4. 존망코인
5. 약한영웅

 

 

'# Study > 크롤링' 카테고리의 다른 글

[크롤링 기초] 선택자  (0) 2022.01.16
[크롤링 기초] HTML 구조  (0) 2022.01.13
[크롤링 기초] 크롤링의 종류  (0) 2022.01.13
[크롤링 기초] 크롤링이란?  (3) 2022.01.10