- 조회수:2328
- 2018-05-29 16:35:51
이번시간에는 실전과 같은 예제로 시작을 할까 합니다.
바로 오늘의 금시세를 검색해서 특정조건에서 SMS를 발송해 보겠습니다.
금시세 샘플
1 - 금시세를 확인하고 데이터베이스의 값과 비교합니다.
2 - 3시간마다 금시세 정밀 체크합니다.
3 - 3시간 뒤에는 SMS를 보낸 시점부터 가격이 떨어졌을때만 SMS를 다시 발송합니다.
4 - 발송 후 DB의 값을 현재시간에 맞춰 DB의 데이타를 업데이트합니다.
5 - SMS는 한번 발송되면 3시간동안은 재발송 되지 않습니다.
먼저 기본설정 > 데이터베이스관리에서 테이블을 아래와 같이 추가해 주세요.
해당 테이블에 아래와 같이 데이터를 추가해 주세요. (업데이트 방식으로 할 예정이므로 데이터는 1개만 있으면 됩니다.)
이제 준비가되었으니 샘플 소스 풀이를 시작해 볼까요?!
라인 1 - 먼저 금시세를 제공해주는 페이지로 이동을 합니다.
라인 4 - 방해가 되는 xx링크는 [명령어 javascript] 로 제거합니다.
라인 5 ~ 11 - 금시세를 추출하기위해 HTML을 가공합니다. (HTML 가공방법 바로가기)
라인 16 ~ 18 - [명령어 variable] 의 [시스템변수]를 사용하여 현재시간에서 3시간전의 시간을 timestamp 로 변환합니다.
라인 19 ~ 24 - [명령어 db.select] 를 이용하여 DB에 있는 시간과 금액을 추출합니다.
라인 26 - 계산한 3시간전의 timestamp와 DB내에 있는 timestamp를 비교합니다. 3시간이 지났다면 통과가 됩니다.
라인 28 - 현재 금시세와 DB에 있는 금시세를 비교합니다.
라인 29 - DB에 있는 금시세보다 현재 금시세가 낮다면 [명령어 db.update] 를 사용하여
현재 DB에 있는 데이터를 현재데이터로 업데이트합니다.
라인 31 - DB 데이터 업데이트 후 [명령어 SMS] 를 사용하여 문자전송을 합니다.
(샘플에서는 [명령어 log] 로 대체되었습니다.)
위에서 DB 데이터 추가시 SMS 보낸시간 0, 가격 0 으로 설정하였기 때문에
첫번째 재생때는 현재 데이터를 SMS 발송하고 DB에 업데이트 합니다.
(샘플에서는 [명령어 log] 로 대체되었습니다.)
두번째 재생때는 3시간이 지나지 않았기때문에 SMS발송을 하지않고 DB 업데이트도 하지않습니다.
DB 데이터의 SMS 발송 시간을 조정하여 테스트 해보세요!
단, 몇줄만으로도 3시간마다 금시세를 받아보실 수 있습니다.
이번 샘플 대상이 금시세일뿐 다른 컨텐츠도 추출할 수 있다는점 잊지마세요!
인터넷 브라우저라면! 어디서든 활용이 가능합니다!
만약 프리미엄 계정을 사용중이라면 타임 스케줄러를 이용해 간단하게 시간을 설정할 수 있습니다.
타임 스케줄러는 다른 스케줄러를 실행하다가 특정 시간에 설정한 프로젝트를 실행하면 시간비교는 할 필요가 없겠죠?
첨부파일[1]
열기 닫기