프로그래밍/Crawling

[Python] json 에러 교정하기

seojeon9 2023. 10. 23. 17:32

사이트를 크롤링할 때 소스코드 내부에 있는 데이터를 json으로 파싱 하려고 할 때 잦은 에러를 마주한다...

 

1. 너무 JSON형식이 맞는데 처음부터 안 되는 경우

requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

response_text = response.content.decode('utf-8')

-> 응답받은 content or text를 디코드 해준다.

 

2. 잘가져온거 같은데 중간에서 자꾸 에러가 나는 경우

ValueError: Expecting , delimiter: line 1 column 532 (char 531)

try:
    result_data = json.loads(result_data)
except json.JSONDecodeError as e:
    print(e)
    colno = e.colno
    print(result_data[colno-10:colno+10])

-> 문제가 발생하는 위치를 확인한 후 replace 해준다


JSON형식

{"result": 
	{"Info": 
    	{"authUrlType": "LOGIN", 
         "authUrl": "https://blog.com", 
         "displayType": "NORMAL"}
     }
}

Python으로 파싱할 수 있는 JSON형식

{'result': 
	{'Info': 
    	{'authUrlType': 'LOGIN', 
         'authUrl': 'https://blog.com', 
         'displayType': 'NORMAL'}
     }
}
728x90