2020-10-05 15:44:00

오늘의 코로나 확진자수를 스크레이핑(scraping) 해보도록 하겠습니다. 스크레이핑이란 웹사이트에 있는 어떤 정보를 추출해내는 기술을 뜻합니다. 

 

저는 중앙재난안전대책본부 사이트 ncov.mohw.go.kr/ 에서 국내발생수와 해외유입수를 스크레이핑한 것을 정수로 변환한 후에 더하는 방식으로 오늘의 확진자수를 출력할 것입니다. 

 

스크레이핑 할 대상 설정

 

크롬에서 F12로 개발자도구를 열어보니, 확진자수 47과 17과 관련된 태그(요소)들을 찾아낼 수 있었습니다. 

 

 

이제 사전준비가 다 되었습니다. BeautifulSoup 패키지를 이용해서 스크레이핑하도록 하겠습니다. 제가 작성한 파이썬 코드는 다음과 같습니다. BeautifulSoup 패키지를 설치 안 하신 분들은 pip3 install beautifulsoup4 등의 방식으로 설치해주세요. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
from urllib import request
from bs4 import BeautifulSoup
 
target = request.urlopen("http://ncov.mohw.go.kr/")
 
soup = BeautifulSoup(target, "html.parser")
 
nums = []
 
for item in soup.select("div.datalist"):
    for data in item.select("span.data"):
        nums.append(int(data.string))
 
print("오늘 코로나 확진자수: ", sum(nums), "명")
cs

 

코드를 실행해보겠습니다. 

 

스크레이핑 성공!

 

오늘 코로나 확진자수가 제대로 스크레이핑 된 것을 확인하실 수 있습니다. 47 + 17하면 64 맞죠? 이 결과는 코드를 실행하는 시점에 따라 달라집니다.

 

 

b스카이비전의 추천글

[python] 웹에서 이미지 수집하기, 이미지 크롤링 (beautifulsoup 활용)