본문 바로가기
빅데이터 부트캠프/팀 프로젝트

국내 기후변화 예산&의안 분석 프로젝트 진행 중 직면했던 문제 정리

by Mecodata 2022. 9. 21.

1. R에서 wordcloud2의 lettercloud를 이용하여 데이터를 시각화하려 했으나 wordcloud2로 하면 잘 출력되는데
이미지를 지정해서 실행가거나 letterclod를 이용해서 시각화를 하면 지정한 글자나 이미지만 출력되고
데이터들은 출력이 되지 않았음 원인을 찾아보려 했지만 강사님과 같이 고민해봐도 해결이 안됨... 

 

-> 결국 파워포인트에 글자 크기를 슬라이드에 꽉 채울 수 있을 정도로 최대로 키워서 이를 캡처한 이미지 파일을 파이참을 통해 적용하여 wordcloud를 생성하는 방식으로 대체 (wordcloud 활용 IDE : R -> Pycharm으로 변경)

 

2. 기후관련 의안들에서 추출한 명사들 중 특정조건을 만족하는 단어를 제외하여 단어들을 추출하고 싶어 remove를 이용하였는데 recursion error 발생

 

-> 기존의 단어 리스트에서 remove처리하는 것이 아닌 새로운 리스트를 생성해서 조건을 만족하는 단어를 append하는 것이 더 효율적 (remove를 하면 기존의 긴 리스트를 계속 뒤져야 하고 append를 하면 기존의 리스트보다 길이가 짧은 새 리스트에 명령을 실행하기 때문)

 

3. 공공데이터포털에서 의안정보시스템의 open API를 이용해 의안명에 '기후'가 포함된 의안들의 목록을 출력해야 하는데 약 두달전 처음으로 수업때 사용해본 이후로 사용하게 된 open API라 굉장히 헤멨다...

 

특히 공개키를 이용하여 데이터를 추출하는데 Encoding 키로 시도하면 허락되지 않은 인증키라며 에러가 뜨고 Decoding 키로 시도하면 한글이 아닌 복잡해 보이는 문자들로 출력되어 1차 당황

-> 하루 종일 홈페이지에 문의하고 강사님께 여쭤보고 구글링하다가 발견한 알아낸 점은 애초에 Encoding 키는 웹페이지에서 URL로 입력할 때 사용하는 인증키였고 파이참과 같은 IDE를 사용하여 추출할 때 사용하고 Decoding 키를 이용해야했던 것!

 

그리고 겨우 찾아낸 해결 방법이었지만 Decoding 인증키로 추출된 데이터들은 UTF-8로 인코딩 된 데이터들이었고 이 데이터를 또 다시 디코딩해야 비로소 한글로 출력시킬 수 있었다! (이거에만 하루를 날렸다... 겨우 한줄 짜리 코드로 해결되는 문제에 하루를 날리다니...)

4. 그렇게 기껏 한글로 데이터를 추출했지만 불필요한 태그들을 제거하고 필요한 내용만 추출해야 하는 과정을 해야하는데 정규식과 반복문을 이용해야 한다고 해서 2차 당황...

 

정규식과 반복문을 사용할 필요 없이 Beautifulsoup의 select를 이용하여 특정 태그의 내용을 추출하는데 성공

 

오픈 API 크롤링 결과와 홈페이지 DB 조회 결과가 서로 달라서 굉장히 당황...

홈페이지 조회는 맨 끝칸인 심사진행상태가 빈칸인데..
OPEN API로 크롤링하면 빈칸이 아닌 소관위접수로 불러와짐...

 결국 현재 21대 국회의원 발의안과 과거 18~20대 국회의원 발의안의 코드를 서로 다르게 구성하여 해결

기후변화 관련 법령데이터도 OPEN API를 이용하려 했으나 현행법령은 잘 출력되지만 폐기된 법령에 대한 크롤링은 다음과 같은 결과로 실패하여 결국 따로 워드파일을 받아 텍스트 파일에 복붙하여 해결

폐기법령인 저탄소 녹색성장 기본법을 OPEN API로 조회했더니...
그래서 폐기법령은 체크안했나 했더니.. 아예 신청 목록 자체에 없던 거였음..

 

댓글