버스도착정보 데이터를 다시 보니, 도착 예정 버스가 몇 정류장 전에 있고 몇 분 후에 도착한다는 정보가 있어 여러 정류장에서 데이터를 수집할 필요가 없었습니다.
따라서 제가 버스를 타는 정류장 2곳 과, 내리는 정류장 1곳에서만 데이터를 수집하도록 설정하고 대신 8분 간격 수집에서 1분 간격으로 변경했습니다. 내일부터는 1분 단위로 버스정보를 볼 수 있게 되었습니다.
그리고 오늘은 AWS에 데이터베이스 서버를 구성했습니다.
(사실 구성이라기 보단 확인 했습니다. 제가 선택한 AWS EC2 서버에 MariaDB 10.1이 기본으로 설치되어 있었습니다.)
- 수집 데이터 항목 : 버스 도착정보 데이터(도착까지 남은 시간과, 잔여좌석 수 포함)
- 수집 버스 정보 : 수원에서 잠실로 이동하는 1007번 버스 (정류소 3곳)
- 수집 시간 : 매일 04:40 ~ 09:00, 1분 간격으로 수집
- 사용 API(REST) : https://www.data.go.kr/dataset/15000175/openapi.do
- 서버 : AWS EC2 Ubuntu 18.04.3 LTS
- 수집 코드 : Python 3.7
- 수집 설정 방법 : Crontab
- 데이터베이스 : MariaDB 10.1.43
ㅇ 서버시간(UTC+0), 한국 시간이 UTC+9이기 때문에 Crontab에 수집하려는 시간 -9시간으로 설정
ㅇ 수집 시간 : 매일 04:40~09:00
- 04:40 ~ 04:59 (19:40 ~ 19:59)
40/1 19 * * * /home/ubuntu/get_bus_data/collect_bus_data.sh 2>> /home/ubuntu/error.log
- 05:00 ~ 08:59 (20:00 ~ 23:59)
*/1 20~23 * * * /home/ubuntu/get_bus_data/collect_bus_data.sh 2>> /home/ubuntu/error.log
ㅇ 최종 크론탭
40/1 19 * * * /home/ubuntu/get_bus_data/collect_bus_data.sh 2>> /home/ubuntu/error.log
*/1 20~23 * * * /home/ubuntu/get_bus_data/collect_bus_data.sh 2>> /home/ubuntu/error.log
MariaDB가 설치되어있는지 확인, 아주 간단한 명령어
apt list | grep mariadb
MariaDB 실행하여 데이터베이스 확인 및 bus라는 데이터베이스 생성
sudo mysql
show databases;
create database bus;
show databases;
[버스도착정보 수집] 수집한 2일치 데이터 확인 (0) | 2019.12.10 |
---|---|
[버스도착정보 수집] 버스도착정보 정상 수집 확인 완료 (0) | 2019.12.09 |
[버스도착정보 수집] 서버에 버스도착정보 수집 설정 완료 (0) | 2019.12.08 |
[버스도착정보 수집] 버스도착정보 CSV 파일로 저장 (0) | 2019.12.07 |
[버스도착정보 수집] Python을 이용한 XML 파일 파싱 (0) | 2019.12.05 |