단순코드/사업계획서/네이버 크롤링 파이썬코드 짜기

1. csv 파일통합 코드
  • 지인에게 dataframe로 파일통합 할 수 있다는 힌트를 얻고
  • GPT에게 해당 코드를 짜달라고 요청하니 10초도 걸리지 않네요.
  • 크롤링과 달리 이런 단순한 코드는 에러없이 순식간에 완성된다는 점... 
- 그 외에도 api에서 json 뽑아서 출력하는 등 쉬운 코드는 거의 시간이 걸리지 않는다
  • GPT민수야 고맙다!
  • 사업계획서 작성
1. CHATGPT 사업계획서 - 청년창업사관학교
(예시첨부 없음)

내용은 매우 자연스럽고 further more 제시해줌
 
단점
- 어떻게 번역해도 어색한 한글표현 (구글번역, 파파고, DEEPL)
- 질문별 의도와 답변방식을 매 질문마다 학습시키다보면 토큰이...
- Best practice를 학습시켜봤지만 효과 미미


2. 뤼튼 사업계획서 - 데이터바우처
https://document.wrtn.ai/

- 사업 아이디어만 쓰면 사업계획서 초안 작성해줌

장점: 
매우매우 자연스러운 한글 구사
통계자료 자동으로 찾아줌 (GPT랑 달리 거짓말 안함)
이미 질문별 템플릿 세팅돼있음
무료체험(?)
 
단점: 
초안 수준의 완성도.
학습에 의한 파인튜닝 불가.
프롬프트(인풋값)가 매우 작음 (총 100자 정도) 


결론
한글, 한글, 한글...
*뤼튼 요금제 한달만에 변경

3.네이버 크롤링 코드짜기


chatGPT로 사업계획서만 쓰다가, 최근 친한 개발자님께서 GPT 코딩을 찬양하는 말을 듣고 저도 평소 짜던 웹크롤링을 시켜봤습니다.

1) 다짜고짜 url주면서 필요한 데이터 요청했습니다.
프롬프트는 번역 확장앱으로
아래 url은 네이버의 블로그 포스팅 검색결과를 보여주는 링크야
아래 데이터를 크롤링하는 파이썬 코드 짜줘
- 데이터: 블로그 이름, 블로그 주소(링크), 포스팅 제목, 포스팅 날짜
- url: https://search.naver.com/search.naver?where=view&sm=tab_jum&query=%ED%95%84%EB%9D%BC%ED%85%8C%EC%8A%A4%EB%B3%B5
2) 결과는 매우 훌륭했습니다.
하지만 class값이 잘못 나와서, 이를 수기로 확인해 정정했습니다.

3) 빈 데이터로 발생한 일부 에러를 수정해달라고 요청했습니다.
(중간중간 추출못한 데이터로 nonetype 오류 발생)
-> excpet처리해서 코드 수정해줌


4) 데이터를 엑셀로 뽑아달라고 요청했습니다.
-> pandas 모듈로 뽑길래, 제가 익숙한 openpyxl 모듈을 사용해달라고 정정

5) 뽑고나니 1페이지 데이터만 있길래, 2~4페이지를 100번행까지 추가해달라고 함
-> url에 &sm_tab_jum&start={i}를 추가하며 알아서 해줍니다. 
    위 1번에서 classs값 틀린거랑은 또 다르네요.
urls = [f"https://search.naver.com/search.naver?where=view&sm=tab_jum&query={search_keyword}&start={i}" for i in range(1, 92, 10)]

6) 10분도 안걸려서 훌륭한 결과물이 탄생했습니다.

*chatGPT가 짠 코드 전문은 아래와 같습니다.

import requests
from bs4 import BeautifulSoup
from openpyxl import Workbook

search_keyword = "필라테스복" # specify the search keyword here

# extract all 100 search results by setting the start parameter to 1, 11, 21, ..., 91
urls = [f"https://search.naver.com/search.naver?where=view&sm=tab_jum&where=blog&query={search_keyword}&start={i}" for i in range(1, 92, 10)]

# create a new Excel workbook and select the active sheet
wb = Workbook()
ws = wb.active

# write the column names to the first row of the sheet
ws.append(["Blog Name", "Blog Address", "Post Title", "Post Date"])

for url in urls:
    response = requests.get(url)
    soup = BeautifulSoup(response.text, "html.parser")

    # find all blog post entries
    post_entries = soup.find_all("li", {"class": "bx _svp_item"})

    for post in post_entries:
        # extract blog name and address
        blog_name = post.find("a", {"class": "sub_txt sub_name"})
        try:
            blog_address = blog_name["href"]
        except TypeError:
            blog_address = ""
        try:
            blog_name = blog_name.text.strip()
        except AttributeError:
            blog_name = ""
        post_date_elem = post.find("span", {"class": "sub_time sub_txt"})
        post_date = post_date_elem.text if post_date_elem else ""
        post_title_elem = post.find("a", {"class": "api_txt_lines total_tit _cross_trigger"})
        post_title = post_title_elem.text if post_title_elem else ""

        # write the extracted information to the sheet
        ws.append([blog_name, blog_address, post_title, post_date])

# save the workbook to a file on the desktop
path = "C:/Users/user/Desktop/" # specify the path to the desktop here
file_path = f"{path}{search_keyword}_blog_data.xlsx"
wb.save(file_path)

결론: 감동적입니다.
3

(채용) 유튜브 PD, 마케터, AI엔지니어, 디자이너

지피터스의 콘텐츠 플라이휠로 고속 성장할 팀원을 찾습니다!

👉 이 게시글도 읽어보세요