빠르게 변화하지 않는 정보 (ex> 전국 약국 위치 정보) 는 파일 데이터 정보로 다운 받으면 됩니다
전국 약국 정보 조회 서비스 | 공공데이터포털 (data.go.kr)->바로가기->검색결과 다운로드
또는 노선정보조회 서비스 | 공공데이터포털 (data.go.kr)->활용신청->활용목적 등을 기재한 후 신청완료
1. 활용신청하기
2. 활용가이드 보기
다음과 같이 공공데이터에서 key와 활용가이드를 통해 필요한 변수명을 가져올 수 있습니다
-> 참고문서 클릭!
또는
->밑으로 스크롤, 요청변수에서 확인할 수 있습니다
아래쪽엔 친절하게 Python 그리고 다양한 언어로 작성하는 방법을 알려줍니다
3. 코드 입력하기
from bs4 import BeautifulSoup
import urllib.request as req
busNum = '360'
key = 'fWk84AMg02ZB1urJXgQMH%2BX83s0OWsS6w2EL6DeHaB4dcm0UpTxQ2IdYZQduk%2BL4Ebm81maZr08z%2F2ZNCb8qAA%3D%3D'
url1 = 'http://ws.bus.go.kr/api/rest/busRouteInfo/getBusRouteList?serviceKey='+key+'&strSrch='+busNum
savename = 'C:/mypython/businfo.xml'
req.urlretrieve(url1, savename)
xml = open(savename, 'r', encoding='utf-8').read()
soup = BeautifulSoup(xml, 'xml')
busRouteId = None
for itemList in soup.find_all('itemList') :
busRouteId = itemList.find('busRouteId').string
busRouteNm = itemList.find('busRouteNm').string
if busRouteNm == busNum :
break
url2 = 'http://ws.bus.go.kr/api/rest/busRouteInfo/getStaionByRoute?ServiceKey='+key+'&busRouteId='+busRouteId
savename = 'C:/mypython//buspos.xml'
req.urlretrieve(url2, savename)
xml = open(savename, 'r', encoding='utf-8').read()
soup = BeautifulSoup(xml, 'xml')
busPos = []
for itemList in soup.find_all('itemList') :
gpsY = itemList.find('gpsY').string
gpsX = itemList.find('gpsX').string
busPos.append((gpsY, gpsX))
print('[ ' + busNum + '번 버스의 운행 위치 ]')
if len(busPos) != 0 :
print(busNum + '번 버스 ' + str(len(busPos)) + '대 운행중...')
for lat,lng in busPos :
print(lat+','+lng)
else :
print('현재 운행중인 ' + busNum + '번 버스가 없어요...')
->파일로 저장하는 부분은 본인 jupyter notebook저장 경로로 설정하시면 됩니다!
'IT 프로그래밍 > 빅데이터' 카테고리의 다른 글
[Bigdata] MongoDB 설치 및 사용 (CRUD로 정리끝!) (0) | 2021.03.05 |
---|---|
[Bigdata] 쉽고 간단한 MongoDB 설치방법 (0) | 2021.03.05 |
[Bigdata 수집] 네이버 오픈API 사용방법 (api만들기,파파고) (0) | 2021.03.04 |
[Bigdata 수집] Selenium 크롤링 예시심화 (영상첨부) (0) | 2021.03.04 |
[Bigdata 수집] Selenium 크롤링 예시 (+실행영상) (0) | 2021.03.04 |