프로그래밍/파이썬

[파이썬] eBest Xing api 실시간조회, NWS 뉴스 요청 구현 (6)

말춘이 2020. 2. 22. 15:44
반응형

 

 

GitHub - malchooni/EBestAPI_Python: 파이썬 학습목적의 이베스트 API 구현

파이썬 학습목적의 이베스트 API 구현. Contribute to malchooni/EBestAPI_Python development by creating an account on GitHub.

github.com

 

 

[파이썬] eBest Xing api 실시간조회, 멀티스레드 설계 (1)

[파이썬] eBest Xing api 실시간조회, 스레드 설계 구현 (2)

[파이썬] eBest Xing api 실시간조회, ThreadJob 구현 (3)

[파이썬] eBest Xing api 실시간조회, ConnectionManager 구현 (4)

[파이썬] eBest Xing api 실시간조회, QueryThreadJob 구현 (5)

[파이썬] eBest Xing api 실시간조회, NWS 뉴스 요청 구현 (6)

[파이썬] eBest Xing api 실시간조회, S3_ 코스피체결 구현 (7)

[파이썬] eBest Xing api 실시간조회, 테스트 및 실행 화면 (8)

 

NWS 쿼리는 요청 시 종료 전까지 최신 뉴스에 대한 정보를 수신받을 수 있다.

 

from name_yalsooni.crawler_py.ebest.realtime.queryjob import EventHandler
from name_yalsooni.crawler_py.ebest.realtime.queryjob import QueryThreadJob
from name_yalsooni.crawler_py.ebest.util import Log, EventUtil
 
 
class NWSEventHandler(EventHandler):
    def OnReceiveRealData(self, code):
        title = self.event.GetFieldData("OutBlock", "title")
        Log.write(code + " : " + title)
 
 
class NWS(QueryThreadJob):
    CM_NWCODE = "NWCODE"
 
    def __init__(self):
        QueryThreadJob.__init__(self, "RT_NWS", 0.5)
 
    def _operation_init(self):
        pass
 
    def _operation_call(self, command):
        self._event = EventUtil.get_event("NWS", NWSEventHandler)
        self._event.SetFieldData("InBlock", "nwcode", command[self.CM_NWCODE])
        self._event.AdviseRealData()

 

- 16 Line 
  생성자에서 스레드이름과 큐 타임아웃을 파라미터로 넘긴다.
- 19 Line 
  상위 클래스인 QueryThreadJob에서 operation 딕셔너리에 기본 오퍼레이션인 'CALL'은 등록해 줬다.
  뉴스 요청의 오퍼레이션은 'CALL' 하나 밖에 없으므로 해당 메소드는 등록 해줄께 없다, pass한다.
- 21 Line : _operation_call
  _operation_call 메소드에선 뉴스의 알맞은 요청 파라미터를 설정하고 AdviseRealData() 메소드를 통해 요청한다.
  이벤트 객체 생성 시 등록된 NWSEventHandler의 OnReceiveRealData메소드의 의해 응답이 수신된다.
 

buycycle.name

'Buycycle'은 증권사 API를 HTTP Json으로 요청 및 응답 받을 수 있습니다. 요청 받은 Json 메시지를 증권사 API 양식에 맞게 변환해 주는 자바 기반의 오픈 소스 입니다. HTTP RESTful을 제공함으로써 사용자

buycycle.name

반응형