bskyvision RSS 태그 관리 글쓰기 방명록
2020-10-05 15:44:00
728x90

오늘의 코로나 확진자수를 스크레이핑(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 활용)

댓글

방문해주신 모든 분들을 환영합니다.

* 글을 읽던 중에 궁금했던 부분은 질문해주세요.

* 칭찬, 지적, 의문, 격려, 감사표현 등을 남겨주세요.

* 최대한 답변 드리도록 노력하겠습니다.

* 욕설과 광고를 담은 댓글은 가차없이 삭제합니다.


guest@이름 ~$
guest@패스워드 ~$
guest@홈페이지주소작성 ~$

guest@댓글작성 ~$




bskyvision. Designed by bskyvision.