(이해하기 쉽게 설명) HTML 기초, 라이브러리와 크롤링 준비
Data Analyst

빅데이터 관련 자료/Crawling

(이해하기 쉽게 설명) HTML 기초, 라이브러리와 크롤링 준비

carpe08 2022. 1. 29. 22:50
320x100
320x100

크롤링하기 위해서는 라이브러리를 사용해야 합니다. 라이브러리는 프로그래밍을 할 때, 코드를 작성하지 않고 필요한 기능을 수행할 수 있도록 마련된 함수와 메소드의 집합입니다. 파이썬의 환경이 방대한 만큼, 수십, 수백만 개의 라이브러리가 존재합니다. 하지만,  모든 라이브러리를 알 필요도 없습니다. 어떠한 기능을 구현할 때, 어떤 라이브러리를 사용해야 한다는 정도만 알면 됩니다.

정적 크롤링

정적 크롤링을 할 때, 파이썬의 두 가지 라이브러리를 사용합니다.

하나는 requests, 하나의 Beautifulsoup4입니다. 

 

requests

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

쉽게 말해, 파이썬과 웹을 연경하기 위해 사용 하는 것입니다.

아래의 순서에 따라 다운로드 하면 됩니다.

1. 터미널 열기

2. 명령어 입력

pip install requests

3. 라이브러리 설치 확인

import requests

print("requests installed!")

 

beautifulsoup4

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

다시 말해, 웹에 있는 다양한 데이터 중 필요한 데이터만 뽑아내기 위해 사용됩니다.

아래의 순서에 따라 다운로드 하면 됩니다.

1. 터미널 열기

2. 명령어 입력

pip install beautifulsoup4

 

3. 라이브러리 설치 확인

 

크롤링 예제

정적 크롤링을 위한 라이브러리 설치를 성공적으로 마치면, 실제 네이버 웹툰을 예제로 크롤링해보겠습니다.

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')

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()

320x100
320x100