FinanceData / FinanceDataReader

Financial data reader
1.11k stars 359 forks source link

상장폐지종목 조회 중 오류 json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) #220

Open sobykttiger17 opened 3 weeks ago

sobykttiger17 commented 3 weeks ago

몇일동안 상장폐지종목 조회 할 때 에러가 나고 있습니다.

상장폐지종목 조회도 같이 기본 2년치 이상이어서 발생하는 거 같은데

이 서비스도 다른 서비스와 같이 조회 기간 및 미입력시 기본 2년치 조회가 되면 좋겠습니다.

마지막으로 좋은 API 제공해 주셔서 정말 유용하게 사용하고 있습니다. 정말 너무 감사합니다.

df_item_list = fdr.StockListing('KRX-DELISTING')
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File "C:\anaconda3\envs\stock\Lib\site-packages\FinanceDataReader\data.py", line 160, in StockListing return KrxDelisting(market).read() ^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\anaconda3\envs\stock\Lib\site-packages\FinanceDataReader\krx\listing.py", line 135, in read j = json.loads(r.text) ^^^^^^^^^^^^^^^^^^ File "C:\anaconda3\envs\stock\Lib\json__init__.py", line 346, in loads return _default_decoder.decode(s) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\anaconda3\envs\stock\Lib\json\decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\anaconda3\envs\stock\Lib\json\decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

jackmappotion commented 3 weeks ago
# FinanceDataReader/krx/listing.py

class KrxDelisting:
    def __init__(self, market):
        self.market = market
        self.headers = {
            'User-Agent': 'Chrome/78.0.3904.87 Safari/537.36',
            'Referer': 'http://data.krx.co.kr/'
            }

    def read(self):
        data = {
            'bld': 'dbms/MDC/STAT/issue/MDCSTAT23801',
            'mktId': 'ALL',
            'isuCd': 'ALL',
            'isuCd2': 'ALL',
            'strtDd': '19900101',
            'endDd': '22001231',
            'share': '1',
            'csvxls_isNo': 'true',
        }

이 부분의 data를

data = {
    'bld': 'dbms/MDC/STAT/issue/MDCSTAT23801',
    'mktId': 'ALL',
    'isuCd': 'ALL',
    'isuCd2': 'ALL',
    'strtDd': '19900101',
    'endDd': '22001231',
    'share': '1',
    'csvxls_isNo': 'true',
}

data['endDd'] - data['strtDd'] < 2year

바꾸면 코드 동작하는 것은 확인하였습니다.

superdupermulti17 commented 2 weeks ago

위의 내용과 같이 수정했는데 동일한 오류가 발생되어 아래와 같이 listing.py 울 수정했는데 동일 현상입니다. 확인 요청드립니다. 감사합니다. data = { 'bld': 'dbms/MDC/STAT/issue/MDCSTAT23801', 'mktId': 'ALL', 'isuCd': 'ALL', 'isuCd2': 'ALL', 'strtDd': '20231030', 'endDd': '20240712', 'share': '1', 'csvxls_isNo': 'true', }

    data['endDd'] - data['strtDd'] < 2year
FinanceData commented 2 weeks ago

상장폐지 리스팅 2년 이상 조회 불가 이슈 FIX 하였습니다.

1961 ~ 현재 모든 상장종목 리스팅 가능합니다.
2년 단위로 따로 가져와 합치기 때문에 약간 시간이 더 소요됩니다.

>>> fdr.StockListing('KRX-DELISTING') # 모든 상장폐지된 종목
        Symbol        Name  Market SecuGroup Kind ListingDate DelistingDate  ... ArrantEnforceDate ArrantEndDate Industry ParValue  ListingShares  ToSymbol    ToName
0       028740        경성전기   KOSPI        주권       1956-03-03    1961-06-30  ...               NaT           NaT               NaN            NaN
1       028730        남선전기   KOSPI        주권       1956-03-03    1961-06-30  ...               NaT           NaT               NaN            NaN
2       034380        조선맥주   KOSPI        주권       1956-10-01    1960-11-26  ...               NaT           NaT               NaN            NaN
3       028720        수도극장   KOSPI        주권       1957-07-01    1960-11-21  ...               NaT           NaT               NaN            NaN
4       028750        한국운수   KOSPI        주권       1956-03-03    1962-01-04  ...               NaT           NaT               NaN            NaN
...        ...         ...     ...       ...  ...         ...           ...  ...               ...           ...      ...      ...            ...       ...       ...
3736  72502BA2  신한소재부품장비C1   KOSPI      수익증권  보통주  2020-04-29    2024-01-04  ...               NaT           NaT            1000.0      5592200.0    047190    신한자산운용   
3737  70101BA2   한투소재부품장비A   KOSPI      수익증권  보통주  2020-04-27    2024-01-04  ...               NaT           NaT            1000.0     22440318.0    047240  한국투자신탁운용 
3738  70102BA2   한투소재부품장비C   KOSPI      수익증권  보통주  2020-04-27    2024-01-04  ...               NaT           NaT            1000.0       876917.0    047240  한국투자신탁운용 
3739    141020       디에스앤엘  KOSDAQ        주권  보통주  2013-01-29    2024-01-03  ...        2023-12-20    2024-01-02       유통    500.0     11700533.0
3740    380440   엔에이치스팩19호   KOSPI        주권  보통주  2021-05-21    2024-01-02  ...        2023-12-19    2023-12-28     기타금융    500.0     10258000.0

[3741 rows x 15 columns]

보다 자세한 내용은:
https://github.com/FinanceData/FinanceDataReader/wiki/Release-Note-0.9.92