Ai-macro

게시글 검색
금시세가 설정해놓은 값보다 떨어지면 SMS 알림 (DB 활용)
조회수:2328
2018-05-29 16:35:51

이번시간에는 실전과 같은 예제로 시작을 할까 합니다.

바로 오늘의 금시세를 검색해서 특정조건에서 SMS를 발송해 보겠습니다.

 

금시세 샘플

1 - 금시세를 확인하고 데이터베이스의 값과 비교합니다.

2 - 3시간마다 금시세 정밀 체크합니다.

3 - 3시간 뒤에는 SMS를 보낸 시점부터 가격이 떨어졌을때만 SMS를 다시 발송합니다.

4 - 발송 후 DB의 값을 현재시간에 맞춰 DB의 데이타를 업데이트합니다.

5 - SMS는 한번 발송되면 3시간동안은 재발송 되지 않습니다.

 

 

먼저 기본설정 > 데이터베이스관리에서 테이블을 아래와 같이 추가해 주세요.

 

해당 테이블에 아래와 같이 데이터를 추가해 주세요. (업데이트 방식으로 할 예정이므로 데이터는 1개만 있으면 됩니다.)

 

 

이제 준비가되었으니 샘플 소스 풀이를 시작해 볼까요?!

 

[참고소스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]

열기 닫기