본문 바로가기
[챌린지]/[패스트캠퍼스] 파이썬 초격차

패스트캠퍼스 환급챌린지 6일차 미션 (2월 6일) : 파이썬으로 할 수 있는 모든 것 with 47개 프로젝트 초격차 패키지 수강 후기

by 쿠키토끼 2024. 2. 6.

[데일리 미션]

 

01. 제목

패스트캠퍼스 환급챌린지 6일차 미션 (2월 6일) : 
파이썬으로 할 수 있는 모든 것 with 47개 프로젝트 초격차 패키지 Online 수강 후기
 

02. 포스팅 본문 (학습 일기) 가이드

 
1. 학습 인증샷 2장 이상 포함

카메라로 직접 촬영한 수강 인증 사진 (캡쳐X)

 

2. 학습 후기 700자 이상 (공백 제외)

 

오늘은 드디어 챕터2의 뉴스기사 3줄 요약하는 미니 프로젝트 실습의 날이었다. 그 동안 배우면서 이 프로젝트에 적절하게 들어가서 어떤 역할을 할 수 있는 라이브러리와 모듈, 함수 등을 배우고 어떻게 써먹을지 기대가 되는 부분이었다. 

진행 순서도 차근히 알려주셨는데 1) 뉴스 기사 (base64 파일->이메일로 받았다는 전제로)을 디코딩(베이스64는 사람이 알아볼 수 없는 파일 형식으므로 디코딩을 해줘야한다) 해주고 2) 문서를 본격적으로 요약하고, 키워드를 추출하고 3) 직관적으로 볼 수 있도록 요약 리포터를 작성 4) html 파일로 Export까지 구현하는 순서로 진행되었다.

첫번째로 원본의 기사를 가져오는데 여기서 텍스트와 이미지를 추출하였다. 둘다 추출하는 과정에서 base64로 인코딩되어 나오므로 알아 볼 수 있도록 디코딩을 해주는 작업을 해준다. 참고로 이미지를 쥬피터 노트북에서 바로 편하게 보이도록 PIL 외부 라이브러리를 설치해서 임포트 해주면 좋다(설치는 아나콘다 프롬프트에서 패스트캠퍼스 가상환경 활성화 반드시 하고 Pillow을 인스톨하도록 해야한다) base64 bytes형태로 기사 본문 디코딩이되면 여전히 알아보기 어려우므로 문자열로 변환할 utf-8(유니코드 지원 문자 인코딩 방식)이나 아스키(ascii)로 변환하도록 해야한다. 단, 아스키는 utf에 비해 특정 문자들을 표현못할 수 있어서 보통 utf-8을 쓴다고 하니 기억해둬야 할 듯 하다.(괜히 아스키로 변환해서 문자열 변환 오류 생겨서 머리 쥐뜯는 일이 없도록) 이렇게 하면 기사 원문과 이미지가 제대로 디코딩된다.

두번째는 가져온 문서를 요약하도록 summarize 함수를 이용하고 요약 과정에서 텍스트를 좀 더 간결하게 해주는 textcleaner 함수를 이용한다.

summarize 함수로 단어수(word_count=50 (50자로 요약))를 제한해서 요약시키거나 원문의 문자 비율(ratio=0.1(10%로 요약, 0과 1사이의 실수를 이용))로 두 가지 파라미터를 이용해서 요약하는 방법으로 사용가능하다. 이렇게 해서 요약된 텍스트를 변수에 저장해둔다. 그 다음 키워드 추출은 3가지 모듈을 임포트하는데 textwrap(줄바꿈 정렬한다, witdh 매개변수를 이용해 한 줄에 표시될 최대 문자 수를 설정해줌), re(단어만 추출) , collections(빈번한 단어수 추출) 이렇게 모듈을 임포트해준다.

세번째는 요약 리포트를 작성하는 부분으로 저장된 image를 임포트 시키고 요약된 아티클을 한 번 더 print해서 확인해준다. 그런다음 keywords에 샵을 붙여서 해시태그 표현도 해주도록 했다.

마지막으로 html 파일로 저장!! 위의 요약 리포트(기사제목 삽입, 이미지, 요약된 글, 키워드(해시태그)-글자바탕색도 입혀줌)를 원하는 경로에 맞게 open w 세팅하고 나면 원하던 경로에 잘 저장되어 있는게 보인다. 이것으로 미니 프로젝트 하나 완성을 시키고 나니 뭔가 해냈다는 성취감도 있고 재미도 있었다. 까먹지말고 몇 번 더 이용해서 자주 써먹어야겠다.

이렇게 재미있었던 뉴스 기사 요약을 한 뒤에 바로 다음 프로젝트를 시작해보았다. 달력만드는 프로젝트를 배울 개요를 보고 필요한 요소들에 대한 설명과 라이브러리로 윤년(2월의 29일)확인[calendar.isleap], 마지막 날짜를 계산[strptime], 지나온 날짜 계산[dateutil], 요일 반환[datetime]으로 크게 4가지에 대한 요소들을 간단히 들은 후 날짜 및 요일 계산을 시작했다.

날짜 및 요일 계산은 datetime을 사용하고 파이썬에서 날짜와 시간 데이터를 처리하는데 있어 가장 많이사용되는 내장 라이브러리라고 한다. 날짜 표현인 datetime.date , 날짜/시간 표현 datetime.datetime (시분초까지 표현 가능, 연도만 뽑는 다던가 각 각의 요소 뽑기 가능함), 날짜/시간 합치기 - combine (date와 time(시분초) 합치기 가능함), 현재 날짜/시간 today, now , 날짜계산 timedalta (변수를 날짜 지정해서 뺄셈, 덧셈 연산 가능), 요일 판별 weekday(월요일이 0임) 까지 이러한 메서드를 이용해서 여러가지 표현으로 datetime을 이용할 수 있어서 날짜관련해선 필수적이고 편리하기도 하고 직관적이어서 편리하게 이용가능 할 듯하다.

 

03. 필수 본문 내용 

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
 

04. 필수 해시태그 

#패스트캠퍼스 #직장인자기계발 #직장인공부 #환급챌린지 #패스트캠퍼스후기 #오공완
 

05. 필수 URL 

https://bit.ly/48sS29N

 

패스트캠퍼스 [직장인 실무교육]

프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.

fastcampus.co.kr

 
[수강 강의 클립] 

-Ch02. [텍스트] 뉴스 기사 3줄 요약하기
07. 미니 프로젝트 실습

-Ch03. [날짜] 파이썬으로 달력 만들기

01. 프로젝트 개요

02. 날짜 및 요일 계산 - datetime

 

[※ 기타사항메모 ※]
{100% 환급챌린지 미션 가이드 참조 : https://fastcampus.co.kr/event_online_challenge_2401_mission}

 

커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스

성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.

fastcampus.co.kr