이번에 진행하는 프로젝트에서 질병정보서비스를 이용해야 할 일이 생겨서
공공데이터포털
국가에서 보유하고 있는 다양한 데이터를『공공데이터의 제공 및 이용 활성화에 관한 법률(제11956호)』에 따라 개방하여 국민들이 보다 쉽고 용이하게 공유•활용할 수 있도록 공공데이터(Dataset)와 Open API로 제공하는 사이트입니다.
www.data.go.kr
API를 사용하기로 했다.
data.go.kr 회원 가입하고
API 활용신청만 하면 바로 승인된다
아마 APP_KEY승인은 30분~1시간 정도 걸리는 듯
요청 변수를 확인하고
requests, BeautifulSoup,lxml 모듈을 사용
#pip3 install requests
로 requests 모듈을 install 하고
웹 크롤링에 사용하는 BeautifulSoup 모듈도 install !!
#pip3 intall beautifulsoup4
이어서 lxml 까지 설치
#pip3 install lxml
beautifulsoup와 lxml 에관한 정보는 https://brownbears.tistory.com/414 이 블로그에서 얻었다.
[Python] BeautifulSoup 사용하기
웹 크롤러를 만들거나 html에서 필요한 정보를 검색할 때, BeautifulSoup 라이브러리를 사용하여 편리하게 코딩할 수 있습니다. 설치 $ pip3 install beautifulsoup4 beautifulsoup에는 기본적으로 파이썬 표준라..
brownbears.tistory.com
이제 모듈들을 python 파일에 import 해준다
import requests
from bs4 import BeautifulSoup
이제 질병정보서비스의 End Point의 링크(http://apis.data.go.kr/B551182/diseaseInfoService)와
Servicekey와 요청 변수들을 이용해서 받아와야 한다
views.py(def blabla(request):)
url1 = 'http://apis.data.go.kr/B551182/diseaseInfoService?'
servicekey = 'serviceKey=본인의 서비스키'
url2 = '&diseaseType=SICK_NM&searchText=' + 검색어 value
response = requests.get(url1+servicekey+url2).text
bs = BeautifulSoup(response, 'lxml')
result = bs.find('sicknm') #<sickNm>BlaBla</sickNm> 하나만 return
혹은
result = bs.find_all('sicknm') #<sickNm>BlaBla</sickNm> 를 모두 찾아 return
이렇게 해주면
result에는
<sicknm>어쩌구저쩌구</sicknm>이라는 형태로 담긴다
여기에서 이제 태그들 사이의 "어쩌구어쩌구" 만 추출 하기 위해선
result.text
를 사용하면 태그 사이의 내용만 나옴 ㅎㅎ
'개발일지' 카테고리의 다른 글
VSCODE 파일 삭제시 Error: EACCES: permission denied, unlink (0) | 2023.09.04 |
---|---|
역에의한 계산으로 근속년수, 경력 년월일 구하기 JAVA,JAVASCRIPT (0) | 2023.08.03 |
google chrome Lighthouse 에 대해 알아보자 (2) | 2021.06.10 |
모달을 띄울때 생각해야할 부분들 (0) | 2021.05.17 |
Access-Control-Allow-Origin Error (0) | 2020.11.13 |
댓글