Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stocks = fdr.StockListing('KRX') 이 동작을 안 합니다. #227

Open
ikeyada opened this issue Aug 15, 2024 · 3 comments
Open

stocks = fdr.StockListing('KRX') 이 동작을 안 합니다. #227

ikeyada opened this issue Aug 15, 2024 · 3 comments

Comments

@ikeyada
Copy link

ikeyada commented Aug 15, 2024

finance data reader library는 최신 업데이트 했습니다.
fdr.version
'0.9.93'

JSONDecodeError: Expecting value: line 16 column 3 (char 36)


JSONDecodeError Traceback (most recent call last)
Cell In[8], line 1
----> 1 df_krx = fdr.StockListing('KRX')

File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\FinanceDataReader\data.py:158, in StockListing(market, start, end)
156 market = market.upper()
157 if market in ['KRX', 'KOSPI', 'KOSDAQ', 'KONEX', 'KRX-MARCAP']:
--> 158 return KrxMarcapListing(market).read()
159 elif market in ['KRX-DESC', 'KOSPI-DESC', 'KOSDAQ-DESC', 'KONEX-DESC']:
160 return KrxStockListing(market).read()

File ~\AppData\Local\Programs\Python\Python312\Lib\site-packages\FinanceDataReader\krx\listing.py:20, in KrxMarcapListing.read(self)
18 def read(self):
19 url = 'http://data.krx.co.kr/comm/bldAttendant/executeForResourceBundle.cmd?baseName=krx.mdc.i18n.component&key=B128.bld'
---> 20 j = json.loads(requests.get(url, headers=self.headers).text)
21 date_str = j['result']['output'][0]['max_work_dt']
23 mkt_map = {'KRX-MARCAP':'ALL', 'KRX':'ALL', 'KOSPI':'STK', 'KOSDAQ':'KSQ', 'KONEX':'KNX'}

File ~\AppData\Local\Programs\Python\Python312\Lib\json_init_.py:346, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw)
341 s = s.decode(detect_encoding(s), 'surrogatepass')
343 if (cls is None and object_hook is None and
344 parse_int is None and parse_float is None and
345 parse_constant is None and object_pairs_hook is None and not kw):
--> 346 return _default_decoder.decode(s)
347 if cls is None:
348 cls = JSONDecoder

File ~\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py:337, in JSONDecoder.decode(self, s, _w)
332 def decode(self, s, _w=WHITESPACE.match):
333 """Return the Python representation of s (a str instance
334 containing a JSON document).
335
336 """
--> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end())
338 end = _w(s, end).end()
339 if end != len(s):

File ~\AppData\Local\Programs\Python\Python312\Lib\json\decoder.py:355, in JSONDecoder.raw_decode(self, s, idx)
353 obj, end = self.scan_once(s, idx)
354 except StopIteration as err:
--> 355 raise JSONDecodeError("Expecting value", s, err.value) from None
356 return obj, end

JSONDecodeError: Expecting value: line 16 column 3 (char 36)

@FinanceData
Copy link
Owner

잘 수행되는 것을 확인하였습니다.

KRX의 일시적인 문제일 수 있습니다. 실패하는 경우 KRX에서 나오는 에러 메지시를 출력하도록 수정하여 원인을 파악하는데 도움이 되도록 수정하는 것을 검토하고 있습니다.

@ikeyada
Copy link
Author

ikeyada commented Aug 17, 2024

'0.9.93' 버전인데... 신규 컴퓨터로 최근 1주일전에 라이브러리 설치해서 라이브러리 업데이트 문제는 아닌 거 같습니다.
fdr.StockListing 으로 S&P500등은 잘 불러와 지는데 KOSPI, KRX 등 한국 종목만 불러오는데 에러가 지속 되고 있습니다.
참조하십시오.
[오류]
JSONDecodeError: Expecting value: line 16 column 3 (char 36)

@phi-friday
Copy link
Contributor

phi-friday commented Aug 17, 2024

'0.9.93' 버전인데... 신규 컴퓨터로 최근 1주일전에 라이브러리 설치해서 라이브러리 업데이트 문제는 아닌 거 같습니다. fdr.StockListing 으로 S&P500등은 잘 불러와 지는데 KOSPI, KRX 등 한국 종목만 불러오는데 에러가 지속 되고 있습니다. 참조하십시오. [오류] JSONDecodeError: Expecting value: line 16 column 3 (char 36)

저도 다음 코드로 확인해봤는데 정상적으로 작동합니다.

import FinanceDataReader as fdr

print(fdr.__version__)
df_krx = fdr.StockListing('KRX')

재현이 가능한 환경과 코드를 알려주시면 확인이 더 빠를것 같습니다.
(사용 os, python 버전, 전체 의존성 목록(python -m pip freeze) 등)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants