- 0
- 이니스프리
- 조회 수 613
1 2 3 4 5 6 7 8 9 10 11 12 13 | from requests_html import HTMLSession from bs4 import BeautifulSoup def status(x): return { '2' : '사용가능' , '3' : '사용중' , '4' : '운영중지' , '5' : '점검중' , '1' : '통신미연결' , '7' : '시범운영' , '9' : '타기관' }.get(x, '0' ) s = HTMLSession() soup = BeautifulSoup(html, 'html5lib' ) script = str (soup.find( 'td' , { 'class' : 'td3' }).script) code = ''.join( filter ( str .isdigit, script)) print (status(code)) |
현재 https://www.ev.or.kr 에서 전기차 충전소의 상황을 조회할 수 있고, API로도 정보를 제공하고 있습니다.
API 기반으로 개발된 모바일앱(EV infra)이 정확하지 않은 경우가 있는 점을 확인하였기에
API를 이용하지 않고 바로 사이트에서 '운전상태' 항목을 파싱하는 스크립트를 작성하였습니다 :)
위 사이트에서 충전소 현황은 자바스크립트로 구동되는 부분이 있지만,
해당 스크립트를 분석하여 자바스크립트를 렌더링하는 별도의 모듈을 사용하지 않고
BeautifulSoup만으로 최대한 간결하게 해결하는 방법으로 구현했습니다 ^^
발품을 팔아서 인근 전기차 충전소에 방문하여 확인을 하였는데,
정확한 이유는 모르겠지만 EV infra 앱보다 이 방식이 더 정확하네요!
작성자
댓글 0
권한이 없습니다.