나도 좀 써보자 py-hanspell. 고난의 연속. KeyError:'result'의 저주
안녕하세요
일단 설치부터 합시다
git clone https://github.com/ssut/py-hanspell
cd py-hanspell
python setup.py install
만약 깔았는데 no-module이라 뜬다? 그럼 커널 재연결하시면 됩니다. 그럼 이런 에러가 뜹니다.
해결방법?
https://github.com/ssut/py-hanspell/issues/41
py-hanspell spell_checker.check 사용 시 KeyError: 'result' · Issue #41 · ssut/py-hanspell
안녕하세요. chec = spell_checker.check() 사용 시 KeyError: 'result'가 반환됩니다. hanspell\spell_checker.py 내 line 62 에서 html = data['message']['result']['html'] 부분 중 ['result'] 부분에서 keyerror가 발생한 것 같습니다.
github.com
일단 위 해결법대로, spell_checker.py에 들어갑니다.
수정 사항은 2가지 입니다.
1. payload에 추가
'passportKey': '880af1461495c9169ca22466896beac17fd71d7a',
'_callback': 'jQuery1124024353107794965956_1697593724680'
2. data 코드 수정
#data = json.loads(r.text) # 원래 코드
import re
json_data = re.search(r'((.*))', r.text).group(1)
data = json.loads(json_data)
이렇게 수정하면, 안 돌아갑니다. 코드도 수정 안 된 걸 알 수 있쬬.
해결법
사실 똑똑하신 분들은 저것만 봐도 아시겠죠..ㅎㅎㅋㅋㅋㅋ
저는 몰라서 개고생 뒤지게 하고 얻었습니다.
일단 colab에 들어갑니다.
1. 먼저 네이년 맞춤법 검사기에 들어감
맞춤법검사기 : 네이버 통합검색
'맞춤법검사기'의 네이버 통합검색 결과입니다.
search.naver.com
2. f12 누르기
network를 틀어놓으면 됩니다.
3. 아무거나 맞춤법 검사하기
아무거나 검사하기 누르면 network쪽에 SpellerProxy 뭐시기라고 뜰거에요. 그거 누를게요.
4. passportKey, _callback 값 가져오기
5. spell_checker.py 코드 수정
payload = {
'passportKey' : '74fcee3d1c1c4d935144a790f5998f3aa040d0ed',
'_callback': 'jQuery112406428945730130833_1702554020260',
'q': text,
'color_blindness': 0
}
import re
#data = json.loads(r.text) # 기존 코드 주석처리
json_data = re.search(r'\((.*)\)', r.text).group(1)
# Parse the JSON data into a Python dictionary
data = json.loads(json_data)
속시원
본 레퍼. 다 필요없고 /41만 보시면 됩니다.
https://github.com/ssut/py-hanspell/pull/44
change_spell_checker by sig6774 · Pull Request #44 · ssut/py-hanspell
agent auth에서 문제가 있어서 TOKEN값을 가지고 오지 못했습니다. 해당 부분 agent 수정 진행했고 실제 동작 확인했습니다~
github.com
https://github.com/ssut/py-hanspell/pull/42
새로 추가된 passportKey 파라미터에 대한 코드 수정 by belowyoon · Pull Request #42 · ssut/py-hanspell
추가된 passportKey라는 파라미터에 대해서 코드 수정했습니다. 처음 1회 때 1시간 동안 유효한 캐시에 네이버 맞춤법 검사 페이지로 부터 passportKey 값을 파싱하여 가져와 저장하고 쓰는 방식입니다
github.com
https://github.com/ssut/py-hanspell/issues/41
py-hanspell spell_checker.check 사용 시 KeyError: 'result' · Issue #41 · ssut/py-hanspell
안녕하세요. chec = spell_checker.check() 사용 시 KeyError: 'result'가 반환됩니다. hanspell\spell_checker.py 내 line 62 에서 html = data['message']['result']['html'] 부분 중 ['result'] 부분에서 keyerror가 발생한 것 같습니다.
github.com
이거 해결하겠답시고. 어렵게 밤낮 바꾸고 난 다음날에 또 밤샜어요..ㅋ 결국 아침 6시에 퇴근하는데 배가 너무 고픈거에요.. 코드는 안 돌아가는데. 배는 고프고.. 스스로가 너무 한심하고 부끄러웟어요..ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
해결하고 나니까 웹 공부를 안 해서 생긴 일 같네요..ㅋㅋㅋ payload 보는 법만 알았따면 더 일찍 끝났을 텐데.
근데 일단 해결해서 기분 개좋음
끗!