2025/05 18

Django 개발 방식

여기톤을 준비하면서 백엔드 파트인 나는 스터디를 통해 Django를 공부하고 있었다.다만 프론트 파트와 이야기를 나눠보니 프론트에서는 Django를 공부하고 있지 않는다는 사실을 알게 되었다.Django는 백과 프론트를 한 번에 처리할 수 있는 프레임워크인데, 그럼 어떻게 협업하는 건지 이해가 가지 않았다.그동안 진행해왔던 스터디도 간단하게나마 html 파일을 만들어서 실습해왔기 때문에 더더욱 어떻게 개발을 해야하는 건지 어려웠다. 백과 프론트가 어떻게 연결되는 건지 알아보기 위해 서치해본 결과, 두 가지의 방식이 존재한다는 것을 알게 되었다. Django 템플릿 방식 (프론트 - 백 통합형)Headless 방식 (SPA / 프론트 - 백 분리형)Django가 HTML 템플릿을 직접 렌더링하여 사용자에게..

멋쟁이사자처럼대학 TIL 챌린지 후기

5월 16일을 마지막으로 TIL 챌린지가 마무리가 되었다. 사실 멋쟁이사자처럼대학에 지원할 때부터 TIL를 쓰겠다는 다짐을 하면서 들어왔던 터라, 이 챌린지가 굉장히 반갑게 느껴졌다. '이건 나를 위한 거다!' 라고도 생각했다. TIL, 그러니까 Today I Learn을 처음 접하자마자 해야겠다고 결심했었는데, 기회가 주어졌다고 보는 게 정확할 듯하다. 정확히 39일 동안 꼬박꼬박 들어와서 TIL을 작성했지만, 사실 나는 꾸준함과는 거리가 먼 사람이다. 무슨 일을 하든 간에 일주일만 하면 오래 했다고 스스로를 위안 삼고는 했다. (그래서 나의 기초 언어 서적들은 전부 리스트 전에서 끝났다... 약간 한국사 시간 때 구석기 신석기의 달인이 되는 느낌....) 강제성이 없으면 하지 않는 사람이 나다. 그래..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY394. 까다로운 사이트에서의 웹 크롤링(2) selenium 모듈 장단점 - 코드 작성하기가 직관적이고 재밌음 -> 순서대로 명령하기만 하면 됨, 실행하는 모습이 화면에 보여짐- 크롤링을 못하는 곳이 없음 - 속도가 많이 느림 -> requests + bs4보다 약 10배 ~ 20배 느림- time.sleep() 문제 -> 해당 코드를 어디에 넣어줄지, 몇 초의 시간을 넣어주어야할지 고민해야함 - request + bs4로 실행해보기-> 만일 실행 결과가 의도한대로 나오지 않거나 에러가 뜨는 경우-> 크롤링이 까다로운 사이트이므로 selenium 모듈 사용(페이지마다 링크가 다르지 않을 때) 더 알고 싶은 점- selenium의 명시적 대기 vs 암묵적 대기- 명시적 대기 : 코드 내에서 ..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY384. 까다로운 사이트에서의 웹 크롤링(1) Daum 사이트 이메일 수집 - 2 - 아래는 수정 중인 코드from selenium import webdriverimport timefrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECoptions = webdriver.ChromeOptions()options.add_experimental_option("detach", True)browser = webdriver.Chrome(options=options)brow..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY374. 까다로운 사이트에서의 웹 크롤링(1) Daum 사이트 이메일 수집1. 서버에게 HTML 코드 받아오기- requests.get()2. HTML 코드 예쁘게 정리하기- BeautifulSoup()3. 내가 원하는 요소 가져오게 하기- soup.select_one()- soup.select() 1. 내가 원하는 요소 가져오게 하기- broswer.find_element() : 요소 하나- broswer.find_elements() : 요소 여러 개 - 요소 검사 단축키>윈도우 : Ctrl + Shift + C맥 : Cmd + Shift + Cfrom selenium import webdriverimport timefrom selenium.webdriver.common.by import B..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY363. 웹크롤링을 활용한 데이터 수집 자동화(6) ChatGPT를 활용한 엑셀 자동화- 크롤링 코드를 짜달라고 하는 것은 효율성이 떨어짐- '내가 작성한 코드든 IT 뉴스 기사를 수집하는 코드야. 여기에 수집한 정보를 엑셀에 기록하는 기능을 추가하고 싶어. 첫 번째 열에는 뉴스 기사 제목, 두 번째 열에는 뉴스 기사 본문 링크, 세 번째 열에는 뉴스 기사 본문 내용을 넣어줘. 모든 열은 다 가운데 정렬로 하고, 글자 크기는 12 정도로 만들어줘. 본문 링크를 클릭하면 해당 웹페이지로 바로 이동할 수 있도록 해줘. 내가 작성한 코드는 절대로 수정하지마.' 위 문장으로 명령함 - 받은 코드import requestsfrom bs4 import BeautifulSoupfrom openpyxl im..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY353. 웹크롤링을 활용한 데이터 수집 자동화(5) IT 뉴스 기사 수집- 여러 페이지 수집하기import requestsfrom bs4 import BeautifulSoupkeyword = input("검색어 입력 >> ")page_num = 1while True: code = requests.get(f"https://underkg.co.kr/index.php?mid=news&search_keyword={keyword}&search_target=title_content&page={page_num}&division=-2934548&last_division=-2902705") soup = BeautifulSoup(code.text, "html.parser") title = sou..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY34 3. 웹크롤링을 활용한 데이터 수집 자동화(4) 네이버 연관검색어 수집- 원래 파이썬에서 문자열 내에 변수 값을 넣고 싶을 때에는 f"{a}"이런 식으로 입력하여야하지만, 파이참은 "" 안에 {a}만 입력하면 f가 앞에 자동으로 붙음- query문에 검색 키워드를 삽입하고자 할 때에는 해당 주소 URL을 확인하면 답이 나와 있음import requestsfrom bs4 import BeautifulSoupkeyword = input("키워드 입력 >> ")code = requests.get(f"https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query={keyword}")soup = Beautifu..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY33 3. 웹크롤링을 활용한 데이터 수집 자동화(3) 네이버 환율 수집1. 내가 작성한 css 선택자 확인2. 동명이인 유무 확인 (cmd+F -> CSS 선택자)3. 동명이인 위치 확인 - i : 반복되는 것이라 for 문에서 많이 사용됨 - 네이버 환율 웹크롤링import requestsfrom bs4 import BeautifulSoupcode = requests.get("https://finance.naver.com/marketindex/?tabSel=exchange")soup = BeautifulSoup(code.text, "html.parser")price = soup.select("ul#exchangeList.data_lst span.value")name = soup.select(..

멋쟁이사자처럼 후기 + 일은 간편해지고 수익은 성장하는 자동화 스킬 : 파이썬부터 Chat GPT 까지

📆 DAY32 3. 웹크롤링을 활용한 데이터 수집 자동화(2) CGV 무비차트 데이터 수집- HTML의 태그, 속성, 속성값- 부모 자손 관계/ 조부모 관계- 마우스 우클릭 -> 검사 import requestsfrom bs4 import BeautifulSoup# 서버로부터 HTML 코드 가져오기code = requests.get("http://www.cgv.co.kr/movies/?Lt=1&ft=0")#HTML 코드 예쁘게 정리하기soup = BeautifulSoup(code.text, features="html.parser")# 내가 원하는 요소 가져오기(HTML 요소의 형식)# title = soup.select_one("strong[class='title']")# print(title.text..