naver news crawling + ollama(llm) 요약 + google sheet + gmail

이우철·2025년 8월 25일

what to do

  1. 네이버 뉴스 경제분야 가져와서(크롤링)
  2. 링크와 제목을 가져와 ai 분석 (w. ollama)
  3. 요약본을 구글 쉬트에 저장하고 메일로 전달

0. 필요한 패키지 설치하기

!pip install selenium==4.12.0
!pip install webdriver-manager

1. 네이버 뉴스의 경제, AI 관련 뉴스 크롤링

1-1. 네이버 뉴스 페이지 접속

1-2. 헤드라인 부분 크롤링

from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import WebDriverException, NoSuchElementException
import time

# 1. WebDriver 초기화
# Selenium이 자동으로 ChromeDriver를 관리합니다.
try:
    driver = webdriver.Chrome()
except WebDriverException as e:
    print(f"WebDriver 초기화 오류: {e}")
    # 오류 발생 시 프로그램 종료
    exit()

# 2. 웹페이지 접속
url = "https://news.naver.com/section/101"
print("웹페이지 로딩 중...")
try:
    driver.get(url)
    # 페이지가 완전히 로드될 때까지 잠시 대기
    time.sleep(5)
except Exception as e:
    print(f"웹페이지 접속 오류: {e}")
    driver.quit()
    exit()

# 3. 헤드라인 요소 찾기
extracted_data = []
try:
    # 'sa_item _SECTION_HEADLINE' 클래스를 가진 모든 li 요소를 찾습니다.
    headline_list_items = driver.find_elements(By.CLASS_NAME, 'sa_item._SECTION_HEADLINE')
    
    if not headline_list_items:
        print("지정된 클래스를 가진 헤드라인 요소를 찾을 수 없습니다.")
        driver.quit()
        exit()

    # 4. 각 li 항목에서 제목과 링크 추출
    for item in headline_list_items:
        try:
            link_element = item.find_element(By.CLASS_NAME, 'sa_text_title')
            title = link_element.text
            link = link_element.get_attribute('href')
            
            if title and link:
                extracted_data.append({
                    'title': title,
                    'link': link
                })
        except NoSuchElementException:
            # 'sa_text_title' 클래스가 없는 항목은 건너뛰기
            continue

except Exception as e:
    print(f"데이터 추출 중 오류 발생: {e}")
# finally:
    # 5. 작업 완료 후 브라우저 닫기
    # driver.quit()

# 6. 추출된 데이터 출력
if extracted_data:
    print("--- 네이버 뉴스 헤드라인 (경제 섹션) ---")
    for item in extracted_data:
        print(f"제목: {item['title']}")
        print(f"링크: {item['link']}")
        print("-" * 20)
else:
    print("헤드라인을 가져오는 데 실패했습니다.")
웹페이지 로딩 중...
--- 네이버 뉴스 헤드라인 (경제 섹션) ---
제목: 글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막
링크: https://n.news.naver.com/mnews/article/011/0004524584
--------------------
제목: 우리투자증권, ETF 투자자에게 상품권 쏜다
링크: https://n.news.naver.com/mnews/article/009/0005546850
--------------------
제목: 9월 전국 아파트 11,134가구 입주...절반 이상 수도권
링크: https://n.news.naver.com/mnews/article/052/0002237469
--------------------
제목: "적은 월급·민원 스트레스"...공시생 4년 새 반토막
링크: https://n.news.naver.com/mnews/article/660/0000091600
--------------------
제목: '소득 공백' 60∼64세 2명중 1명꼴 연금소득도 '제로'
링크: https://n.news.naver.com/mnews/article/001/0015584714
--------------------
extracted_data[0]['link']   
# 첫번째 링크 출력해 보기
'https://n.news.naver.com/mnews/article/011/0004524584'
cnt = 1
for news in extracted_data:
    print("[경제뉴스 ", cnt, "번째]")
    print(news['title'])
    print(news['link'])
    cnt+=1
[경제뉴스  1 번째]
글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막
https://n.news.naver.com/mnews/article/011/0004524584
[경제뉴스  2 번째]
우리투자증권, ETF 투자자에게 상품권 쏜다
https://n.news.naver.com/mnews/article/009/0005546850
[경제뉴스  3 번째]
9월 전국 아파트 11,134가구 입주...절반 이상 수도권
https://n.news.naver.com/mnews/article/052/0002237469
[경제뉴스  4 번째]
"적은 월급·민원 스트레스"...공시생 4년 새 반토막
https://n.news.naver.com/mnews/article/660/0000091600
[경제뉴스  5 번째]
'소득 공백' 60∼64세 2명중 1명꼴 연금소득도 '제로'
https://n.news.naver.com/mnews/article/001/0015584714

2. 링크에 접속해 본문을 읽어본다.

2-1. 링크에 접속

news_list = []

cnt = 1
for news in extracted_data:
    print("[경제뉴스 ", cnt, "번째]")
    print(news['title'])
    print(news['link'])
    news_list.append(news['link'])
    cnt+=1
[경제뉴스  1 번째]
글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막
https://n.news.naver.com/mnews/article/011/0004524584
[경제뉴스  2 번째]
우리투자증권, ETF 투자자에게 상품권 쏜다
https://n.news.naver.com/mnews/article/009/0005546850
[경제뉴스  3 번째]
9월 전국 아파트 11,134가구 입주...절반 이상 수도권
https://n.news.naver.com/mnews/article/052/0002237469
[경제뉴스  4 번째]
"적은 월급·민원 스트레스"...공시생 4년 새 반토막
https://n.news.naver.com/mnews/article/660/0000091600
[경제뉴스  5 번째]
'소득 공백' 60∼64세 2명중 1명꼴 연금소득도 '제로'
https://n.news.naver.com/mnews/article/001/0015584714
news_list
['https://n.news.naver.com/mnews/article/011/0004524584',
 'https://n.news.naver.com/mnews/article/009/0005546850',
 'https://n.news.naver.com/mnews/article/052/0002237469',
 'https://n.news.naver.com/mnews/article/660/0000091600',
 'https://n.news.naver.com/mnews/article/001/0015584714']
for news in news_list:
    driver.get(news)

2-2. 뉴스 링크들의 제목과 본문을 가져오기

제목 가져오기

driver.get(news_list[0])
news_title = driver.find_element(By.CSS_SELECTOR, '#title_area > span')
news_title
<selenium.webdriver.remote.webelement.WebElement (session="50f29b29c1fa77eabdcfad7cc9772fbe", element="f.FF9BC0DF69FB8F31A44AA074A2D04F25.d.0F1AAD61CCEF5D0014EDCB7D3B6502E1.e.120967")>
news_title.text
"글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막"

본문 가져오기

driver.find_element(By.CLASS_NAME, '_article_content')
<selenium.webdriver.remote.webelement.WebElement (session="50f29b29c1fa77eabdcfad7cc9772fbe", element="f.FF9BC0DF69FB8F31A44AA074A2D04F25.d.0F1AAD61CCEF5D0014EDCB7D3B6502E1.e.121092")>
driver.find_element(By.CLASS_NAME, '_article_content').text
'IEA·세계은행 공동 주최\nWCE·에너지 장관회의 등\n전례 없는 대규모 행사\n25일부터 29일까지 ‘에너지 슈퍼 위크’가 열리는 부산 전시컨벤션센터 벡스코 전경. 사진제공=벡스코\n\n[서울경제]\n\n부산이 글로벌 기후·에너지 비즈니스 중심지로 도약할 초대형 국제행사를 열었다.\n\n부산시는 25일부터 29일까지 닷새 간 벡스코와 누리마루 등에서 ‘에너지 슈퍼 위크’를 개최한다고 밝혔다. 이 행사는 ‘2025 기후산업국제박람회(WCE)’와 아시아태평양경제협력체(APEC)·청정에너지(CEM)·미션이노베이션(MI) 등 3대 글로벌 에너지 장관회의가 동시에 열리는 사상 첫 사례다. 국제에너지기구(IEA)와 세계은행(WB)이 공동 주최에 나서면서 행사 위상은 한층 격상됐다.\n\n‘AI를 위한 에너지, 에너지를 위한 AI’(Energy for AI & AI for Energy)를 주제로 열리는 WCE는 청정에너지, 전력망, 인공지능(AI) 기반 에너지 전환 등 기후·에너지 산업의 혁신 비전을 제시한다. 12개 학술회의는 물론 540여 개 기업·기관이 6개 전시관에서 최신 기술을 선보인다. 부산 수소동맹관·환경에너지관에는 지역 선도기업도 대거 참여해 역량을 알릴 예정이다. 세계은행과 해외 기업이 참여하는 채용 설명회, 구매 상담회, ‘청년 라이브’ 등 50여 개 부대행사도 병행된다.\n\n27일 벡스코 개막식에는 국무총리를 비롯해 파티 비롤 IEA 사무총장, 미셸 패트론 마이크로소프트 ECS 정책총괄, 마뉴엘라 펠로 WB 부총재 등 주요 인사가 참석한다. 개막식 직후 진행되는 글로벌 에너지 원탁회의에서는 ‘지속가능한 미래를 위한 기업의 역할’을 주제로 심도 깊은 토론이 이어진다.\n\n에너지 장관회의에서는 40여 개국 정책 결정자와 전문가들이 모여 청정 전력, 전력망 구축, 탄소중립 등 글로벌 핵심 의제를 논의한다.\n\n학술행사도 눈길을 끈다. 27일 ‘인공지능과 에너지 전환: 지속가능한 도시를 위한 혁신’ 콘퍼런스에서는 국내외 학계와 기업 전문가들이 발표와 토론을 통해 정책·기술 로드맵을 공유한다. 같은 날 밤 광안리 해변에서는 기후위기 경각심과 환경 메시지를 담은 드론 라이트쇼 특별공연이 펼쳐진다.\n\n박형준 시장은 “부산은 수소 클러스터, 탄소 포집·저장(CCUS), 친환경 선박, 스마트 항만 등 첨단 프로젝트를 추진하며 기후 산업 도시로 성장하고 있다”며 “이번 에너지 슈퍼 위크는 부산이 세계 기후·에너지 전환의 플랫폼으로 자리매김하는 전환점이 될 것”이라고 말했다.\n\n참가를 원하는 시민은 현장 등록(벡스코 제1·2전시장 및 컨벤션홀)을 통해 무료로 입장할 수 있다.'
news_texts = driver.find_element(By.CLASS_NAME, '_article_content')
print(news_texts.text)
IEA·세계은행 공동 주최
WCE·에너지 장관회의 등
전례 없는 대규모 행사
25일부터 29일까지 ‘에너지 슈퍼 위크’가 열리는 부산 전시컨벤션센터 벡스코 전경. 사진제공=벡스코

[서울경제]

부산이 글로벌 기후·에너지 비즈니스 중심지로 도약할 초대형 국제행사를 열었다.

부산시는 25일부터 29일까지 닷새 간 벡스코와 누리마루 등에서 ‘에너지 슈퍼 위크’를 개최한다고 밝혔다. 이 행사는 ‘2025 기후산업국제박람회(WCE)’와 아시아태평양경제협력체(APEC)·청정에너지(CEM)·미션이노베이션(MI) 등 3대 글로벌 에너지 장관회의가 동시에 열리는 사상 첫 사례다. 국제에너지기구(IEA)와 세계은행(WB)이 공동 주최에 나서면서 행사 위상은 한층 격상됐다.

‘AI를 위한 에너지, 에너지를 위한 AI’(Energy for AI & AI for Energy)를 주제로 열리는 WCE는 청정에너지, 전력망, 인공지능(AI) 기반 에너지 전환 등 기후·에너지 산업의 혁신 비전을 제시한다. 12개 학술회의는 물론 540여 개 기업·기관이 6개 전시관에서 최신 기술을 선보인다. 부산 수소동맹관·환경에너지관에는 지역 선도기업도 대거 참여해 역량을 알릴 예정이다. 세계은행과 해외 기업이 참여하는 채용 설명회, 구매 상담회, ‘청년 라이브’ 등 50여 개 부대행사도 병행된다.

27일 벡스코 개막식에는 국무총리를 비롯해 파티 비롤 IEA 사무총장, 미셸 패트론 마이크로소프트 ECS 정책총괄, 마뉴엘라 펠로 WB 부총재 등 주요 인사가 참석한다. 개막식 직후 진행되는 글로벌 에너지 원탁회의에서는 ‘지속가능한 미래를 위한 기업의 역할’을 주제로 심도 깊은 토론이 이어진다.

에너지 장관회의에서는 40여 개국 정책 결정자와 전문가들이 모여 청정 전력, 전력망 구축, 탄소중립 등 글로벌 핵심 의제를 논의한다.

학술행사도 눈길을 끈다. 27일 ‘인공지능과 에너지 전환: 지속가능한 도시를 위한 혁신’ 콘퍼런스에서는 국내외 학계와 기업 전문가들이 발표와 토론을 통해 정책·기술 로드맵을 공유한다. 같은 날 밤 광안리 해변에서는 기후위기 경각심과 환경 메시지를 담은 드론 라이트쇼 특별공연이 펼쳐진다.

박형준 시장은 “부산은 수소 클러스터, 탄소 포집·저장(CCUS), 친환경 선박, 스마트 항만 등 첨단 프로젝트를 추진하며 기후 산업 도시로 성장하고 있다”며 “이번 에너지 슈퍼 위크는 부산이 세계 기후·에너지 전환의 플랫폼으로 자리매김하는 전환점이 될 것”이라고 말했다.

참가를 원하는 시민은 현장 등록(벡스코 제1·2전시장 및 컨벤션홀)을 통해 무료로 입장할 수 있다.

전체 기사의 제목과 본문을 한번에 가져오기

import time

news_content_list = []
for news in news_list:
    news_content = dict()
    # 뉴스 링크 접속
    driver.get(news)
    time.sleep(2) # 사이트가 로딩될 때 까지 기다림
    # 뉴스 제목 가져오기
    news_title = driver.find_element(By.CSS_SELECTOR, '#title_area > span')
    news_content['title'] = news_title.text
    # 뉴스 본문 가져오기
    news_texts = driver.find_element(By.CLASS_NAME, '_article_content')
    news_content['main_text'] = news_texts.text
    news_content_list.append(news_content)
news_content_list
[{'title': "글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막",
  'main_text': 'IEA·세계은행 공동 주최\nWCE·에너지 장관회의 등\n전례 없는 대규모 행사\n25일부터 29일까지 ‘에너지 슈퍼 위크’가 열리는 부산 전시컨벤션센터 벡스코 전경. 사진제공=벡스코\n\n[서울경제]\n\n부산이 글로벌 기후·에너지 비즈니스 중심지로 도약할 초대형 국제행사를 열었다.\n\n부산시는 25일부터 29일까지 닷새 간 벡스코와 누리마루 등에서 ‘에너지 슈퍼 위크’를 개최한다고 밝혔다. 이 행사는 ‘2025 기후산업국제박람회(WCE)’와 아시아태평양경제협력체(APEC)·청정에너지(CEM)·미션이노베이션(MI) 등 3대 글로벌 에너지 장관회의가 동시에 열리는 사상 첫 사례다. 국제에너지기구(IEA)와 세계은행(WB)이 공동 주최에 나서면서 행사 위상은 한층 격상됐다.\n\n‘AI를 위한 에너지, 에너지를 위한 AI’(Energy for AI & AI for Energy)를 주제로 열리는 WCE는 청정에너지, 전력망, 인공지능(AI) 기반 에너지 전환 등 기후·에너지 산업의 혁신 비전을 제시한다. 12개 학술회의는 물론 540여 개 기업·기관이 6개 전시관에서 최신 기술을 선보인다. 부산 수소동맹관·환경에너지관에는 지역 선도기업도 대거 참여해 역량을 알릴 예정이다. 세계은행과 해외 기업이 참여하는 채용 설명회, 구매 상담회, ‘청년 라이브’ 등 50여 개 부대행사도 병행된다.\n\n27일 벡스코 개막식에는 국무총리를 비롯해 파티 비롤 IEA 사무총장, 미셸 패트론 마이크로소프트 ECS 정책총괄, 마뉴엘라 펠로 WB 부총재 등 주요 인사가 참석한다. 개막식 직후 진행되는 글로벌 에너지 원탁회의에서는 ‘지속가능한 미래를 위한 기업의 역할’을 주제로 심도 깊은 토론이 이어진다.\n\n에너지 장관회의에서는 40여 개국 정책 결정자와 전문가들이 모여 청정 전력, 전력망 구축, 탄소중립 등 글로벌 핵심 의제를 논의한다.\n\n학술행사도 눈길을 끈다. 27일 ‘인공지능과 에너지 전환: 지속가능한 도시를 위한 혁신’ 콘퍼런스에서는 국내외 학계와 기업 전문가들이 발표와 토론을 통해 정책·기술 로드맵을 공유한다. 같은 날 밤 광안리 해변에서는 기후위기 경각심과 환경 메시지를 담은 드론 라이트쇼 특별공연이 펼쳐진다.\n\n박형준 시장은 “부산은 수소 클러스터, 탄소 포집·저장(CCUS), 친환경 선박, 스마트 항만 등 첨단 프로젝트를 추진하며 기후 산업 도시로 성장하고 있다”며 “이번 에너지 슈퍼 위크는 부산이 세계 기후·에너지 전환의 플랫폼으로 자리매김하는 전환점이 될 것”이라고 말했다.\n\n참가를 원하는 시민은 현장 등록(벡스코 제1·2전시장 및 컨벤션홀)을 통해 무료로 입장할 수 있다.'},
 {'title': '우리투자증권, ETF 투자자에게 상품권 쏜다',
  'main_text': '[사진 출처=우리투자증권]\n우리투자증권은 분산투자를 장려하고 안정적인 투자 저변 확대를 위해 8월22일부터 9월24일까지 ‘ETF 거래 이벤트’를 진행한다고 25일 밝혔다.\n\n이번 이벤트 기간 동안 우리자산운용(WON ETF), 미래에셋자산운용(TIGER ETF), 삼성자산운용(KODEX ETF) 등 3개 자산운용사의 ETF를 매수, 이벤트를 신청한 고객 중 최대 1800명에게 혜택이 제공된다.\n\n각 자산운용사별로 매수금액에 따라 △300만원 이상 고객 300명에게는 1만원권, △500만원 이상 200명에게는 2만원권, △1000만원 이상 100명에게는 3만원권의 모바일 문화상품권이 추첨을 통해 지급된다.\n\n또한 매일 혜택이 제공되는 ‘매일매일 ETF 챌린지’이벤트도 동시에 운영된다.\n\n이벤트 기간 동안 각 자산운용사별로 ETF를 매수·매도 거래대금을 합산하여 하루 1억원 이상 거래한 고객 중 선착순 5명(총 360명)에게는 모바일 문화상품권 3만원권이 추가 제공된다.\n\n이번 이벤트에 참가한 고객은 두 가지 이벤트에 대해서 자산운용사별로 중복 혜택을 받을 수 있다.\n\n우리투자증권 관계자는 “이번 이벤트가 고객들이 ETF 투자에 한걸음 더 다가가는 계기가 되길 바란다”며 “앞으로도 우리투자증권은 ‘고객과 함께 성장하는 투자 여정’이라는 철학에 따라 안정적인 투자 저변 확대를 위한 기회를 제공할 것”이라고 말했다.\n\n우리투자증권은 ‘우리WON MTS’에서 오는 12월31일까지 경쟁력 있는 이자율 3.9%로 약정가능한 신용·대출 이자율 이벤트 및 유관기관제비용 외 수수료 부담 없이 거래하는 온라인 국내주식(ETF/ETN 포함) 거래수수료 우대 혜택도 12월30일까지 제공하고 있다.\n\n이벤트 세부 내용은 ‘우리WON MTS’ 및 우리투자증권 홈페이지 또는 고객센터에서 확인 가능하다.'},
 {'title': '9월 전국 아파트 11,134가구 입주...절반 이상 수도권',
  'main_text': "다음 달 전국적으로 아파트 입주 예정 물량이 1만1천여 가구 수준인 것으로 나타났습니다.\n\n부동산 플랫폼 직방은 올해 9월 전국 아파트 입주 예정 물량은 1만1천134가구로 이달 1만6천549가구 대비 약 33% 감소하는 것으로 집계됐다고 밝혔습니다.\n\n수도권 물량이 5천695가구로 전체 입주 예정 물량의 절반 이상을 차지하는 가운데 이달 9천655가구와 비교하면 약 41% 줄어들 전망입니다.\n\n지역별로 서울 128가구, 경기 4천692가구, 인천 875가구가 입주할 예정입니다.\n\n지방 입주 예정 물량은 5천439가구로 이달 6천894가구보다 약 21% 적은 수준인데 이는 2022년 1월 3천491가구 이후 가장 적은 입주 물량입니다.\n\n직방은 아파트 입주 시장에도 6·27 대책 여파가 이어지고 있다며 수분양자들의 자금 계획에도 직접적인 타격이 발생하고 있다고 설명했습니다.\n\n또 입주 시점에 전세 세입자의 보증금을 통해 잔금을 충당할 수 없게 되면서 수도권 분양권, 입주권 거래도 급감하고 있다고 덧붙였습니다.\n\n※ '당신의 제보가 뉴스가 됩니다'\n[카카오톡] YTN 검색해 채널 추가\n[전화] 02-398-8585\n[메일] social@ytn.co.kr"},
 {'title': '"적은 월급·민원 스트레스"...공시생 4년 새 반토막',
  'main_text': "▲ 자료이미지\n\n올해 공무원 시험을 준비하는 청년(20~34세)이 4년 새 반토막이 돼 관련 통계 집계 이래 가장 적었습니다.\n\n25일 통계청 국가통계포털(KOSIS)과 경제활동인구조사 청년층 부가조사에 따르면 올해 5월 기준 20∼34세 비경제활동인구 가운데 지난 1주간 7급·9급 등 '일반직 공무원'(경찰·소방·군무원 포함)을 준비한 청년은 12만 9천 명으로 작년보다 3만 명 감소했습니다.\n\n일반직 공무원을 준비한 청년은 4년 연속 줄어서 올해는 2017년 관련 통계 집계 이래 가장 적었습니다.\n\n일반직 공무원 준비 청년은 5월 기준 2017년 30만 6천 명에서 2018년과 2019년엔 24만 명대(24만 2천 명, 24만 8천 명)로 줄었다가 코로나19가 발발한 2020년엔 26만 8천 명, 이듬해엔 31만 3천 명으로 크게 늘었습니다.\n\n코로나19 충격에 민간 기업 취업 문이 좁아진 데 따른 것으로 보입니다.\n\n그러다 2022년 23만 9천 명으로 급감했고, 2023년 21만 4천 명으로 줄어든 뒤 지난해(15만 9천 명) 10만 명대에 진입했습니다.\n\n올해는 지난해보다 더 줄어 정점인 2021년과 비교하면 4년 새 절반 이하로 쪼그라들었습니다.\n\n행정고시 등 5급 공채, 변리사·회계사 등이 포함된 '고시와 전문직' 준비생도 2021년 10만 5천 명에서 4년 연속 줄어 올해 8만 1천 명까지 감소했습니다.\n\n교직, 공기업도 비슷합니다.\n\n교원 임용을 준비한 청년은 2020년 4만 명이었지만 이후 2021∼2022년 3만 명대로 떨어진 뒤 2023년 2만 9천 명, 지난해 2만 3천 명으로 줄었고 올해(2만 4천 명)는 비슷한 수준을 유지했습니다.\n\n공사·공단 등 공영기업체와 언론사를 준비하는 청년은 2020년 11만 7천 명에서 4년 연속 감소해 지난해 8만 3천 명까지 줄었습니다.\n\n다만 올해는 9만 2천 명으로 다시 9천 명 늘었습니다.\n\n반면 민간 기업은 오히려 준비생이 늘었습니다.\n\n대기업, 중소기업 등 일반기업체 준비 청년은 올해 5월 기준 23만 명으로 작년 동월보다 4만 1천 명 증가했습니다.\n\n2017년 관련 통계 집계 이래 가장 많은 수준입니다.\n\n공무원과 민간을 모두 포함해서 취업 관련 시험을 준비했다고 응답한 청년은 총 67만 4천 명으로, 1만 9천 명 늘어났습니다.\n\n공무원 인기가 시들해진 주요 원인으로 보수, 악성 민원, 조직 문화가 지목됩니다.\n\n인사혁신처가 지난해 11월 발표한 공무원 약 2만 7천 명 대상 설문조사 결과(복수응답)에 따르면 공무원 지원자 감소 이유로 '민간에 비해 낮은 보수'가 88.3%(2만 4,209명)를 차지해 가장 많았습니다.\n\n이어 악성 민원으로 인한 스트레스 39.8%(1만 912명), 수직적인 조직문화 15.9%(4,365명) 순이었습니다.\n\n일반 국민 3천 명을 대상으로 한 같은 설문에서도 민간에 비해 낮은 보수가 62.9%(1,886명)를 차지해 1위를 기록했고, 이어 악성 민원 스트레스가 53.7%(1,610명)를 차지했습니다.\n\n#공무원 #공시생 #청년 #통계청 #국가통계포털"},
 {'title': "'소득 공백' 60∼64세 2명중 1명꼴 연금소득도 '제로'",
  'main_text': '65세 이상 전체 연금수급자 월 70만원 수령…통계청 2023년 연금통계\n\n\n34년 뒤면 국민연금 소진?…5차 재정추계 본격 착수 (CG)\n[연합뉴스TV 제공]\n\n\n(세종=연합뉴스) 안채원 기자 = 2023년 기준 65세 이상, 전체 연금 수급자의 월평균 연금액이 70만원에 근접한 것으로 나타났다.\n\n정년퇴직으로 소득이 끊겼지만 국민연금 수령이 아직 시작되지 않은 일명 \'소득 크레바스\'(소득공백) 구간인 60∼64세 연령대에서는 절반 이상이 연금소득이 전혀 없는 것으로 조사됐다.\n\n통계청은 25일 이런 내용의 \'2023년 연금통계 결과\'를 발표했다. 기초·국민·직역(공무원·군인·사학·별정우체국)·주택연금 등 11종의 공·사적 연금 데이터를 연계·분석한 결과다.\n\n65세 이상 연금 수급률 90.9%…수급자 3명 중 1명은 월 50만∼100만원\n2023년 기초연금·국민연금·직역연금 등 연금을 1개 이상 수급한 65세 이상 인구는 863만6천명으로 연금 수급률은 90.9%였다.\n\n이는 전년 대비 0.5%포인트 상승한 수치로, 연금 수급률은 2016년 이후 꾸준히 증가하는 추세다.\n\n2개 이상 연금을 동시에 수급한 비율은 37.7%, 월평균 연금 수급액은 전년(65만원) 대비 6.9% 오른 69만5천원으로 집계됐다.\n\n연금 수급액은 25만∼50만원대가 50.9%로 가장 많았고, 50만∼100만원(31.1%), 100∼200만원(8.2%), 200만원 이상(5.9%), 25만원 미만(4.0%) 등 순이었다.\n\n연금종류별로 살펴보면 기초연금 수급자가 646만1천명으로 가장 많았고, 국민연금 수급자는 476만명으로 집계됐다.\n\n월평균 수급액은 기초연금이 29만2천원, 국민연금이 45만2천원으로 나타났다.\n\n등록취업자는 월평균 77만9천원, 미등록자는 65만7천원의 연금을 받았다. 수급률은 각각 93.1%, 90.0%였다.\n\n주택을 소유한 수급자의 수급액은 87만3천원, 무주택 수급자는 54만5천원이었다. 수급률은 각각 91.6%, 90.4%로 집계됐다.\n\n"낸 만큼은 받는다"…완전적립식 \'신 국민연금\' 제안 (CG)\n[연합뉴스TV 제공]\n\n\n청장년층인 18∼59세 연금 가입률은 81.0%로, 전년(80.2%)보다 상승했고, 2개 이상 중복 가입률은 33.1%로 전년(33.0%)보다 소폭 증가했다.\n\n월평균 보험료는 34만4천원으로 전년(33만5천원)보다 2.9% 증가했다.\n\n청장년층인 18∼59세 등록 취업자의 연금 가입률은 95.1%로, 월평균 39만4천원의 보험료를 냈다.\n\n반면 미등록자의 연금 가입률은 52.5%에 그쳤다. 이들이 낸 월평균 보험료는 16만1천원이었다.\n\n18∼59세 주택 소유자의 연금 가입률은 91.8%, 월평균 보험료는 45만3천원이었다. 주택 미소유자의 가입률은 76.4%, 월평균 보험료는 28만9천원으로 나타났다.\n\n가구로 보면 65세 이상 연금 수급자가 1명 이상 있는 가구(연금 수급가구)는 651만4천가구다. 수급률은 95.8%, 월평균 89만8천원을 받는다.\n\n65세 이상 인구가 속한 가구 중에서 연금 수급자가 없는 가구(연금 미수급가구)는 28만9천가구로 조사됐다.\n\n1인 가구 중에 연금을 받는 가구는 201만2천가구다. 월평균 62만1천만원이다.\n\n국민연금 (PG)\n[김선영 제작] 일러스트\n\n\n\'60∼64세\' 연금 수급률 42.7%…월평균 100만4천원 수령\n통계청은 이번 통계에서 \'소득 크레바스\' 위험이 높은 60∼64세 연령대를 조사 세부구간으로 별도 분석했다.\n\n이 연령대는 퇴직으로 근로소득이 끊기지만, 국민연금 등 공적연금 수급 개시 연령에는 도달하지 못한 이들이 포함돼있다.\n\n2023년 연금을 1개 이상 수급한 60∼64세 인구는 177만3천명으로, 연금 수급률은 42.7%였다.\n\n월평균 연금 수급액은 100만4천원이었다.\n\n국민연금 및 노령연금 수급이 시작되는 63세를 기준으로 나눠서 보면, 60∼62세의 수급률은 24.8%, 63∼64세는 69.9%로 차이가 컸다.\n\n수급 금액의 비중은 25∼50만원대(29.8%)로 가장 많았고, 50∼100만원(29.4%), 100∼200만원(15.9%), 200만원 이상(13.2%), 25만원 미만(11.8%) 등 순이었다.\n\n등록취업자는 월평균 97만2천원, 미등록자는 104만7천원의 연금을 받았다. 수급률은 각각 45.3%, 39.7%였다.\n\n주택소유자의 수급액은 115만8천, 무주택자는 80만1천원이었다. 수급률은 각각 51.5%, 35.0%였다.\n\n60∼64세 연금 가입률은 41.2%로, 월평균 보험료는 37만3천원이었다.\n\n이또한 60∼62세 가입률은 50.9%, 63∼54세는 26.6%였다.\n\n보험료 비중은 10만원 미만(53.5%)대가 가장 많았고, 10∼25만원(24.5%), 25∼50만원(13.5%) 등 순이었다.\n\n국민연금 및 개인연금 수급자는 각각 138만4천명(78.1%), 32만1천명(18.1%)였다.\n\n연금별 월평균 수급금액은 국민연금이 66만7천원, 개인연금이 53만7천원응로 조사됐다.\n\n등록취업자의 연금 가입률은 52.7%, 미등록자는 27.5%에 그쳤다. 월평균 보험료는 각각 41만5천원, 30만2천원이었다.\n\n주택소유자의 경우에는 48.0%가 연금에 가입했으나 무주택자는 35.3%였다. 월평균 보험료는 각각 44만2천원, 29만3천원이었다.\n\n최재혁 행정통계과장은 "현재 연금제도의 정착이 어느 정도 돼서 차곡차곡 쌓여 숙성되는 과정"이라고 설명했다.\n\nchaewon@yna.co.kr'}]
news_content_list[0]
{'title': "글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막",
 'main_text': 'IEA·세계은행 공동 주최\nWCE·에너지 장관회의 등\n전례 없는 대규모 행사\n25일부터 29일까지 ‘에너지 슈퍼 위크’가 열리는 부산 전시컨벤션센터 벡스코 전경. 사진제공=벡스코\n\n[서울경제]\n\n부산이 글로벌 기후·에너지 비즈니스 중심지로 도약할 초대형 국제행사를 열었다.\n\n부산시는 25일부터 29일까지 닷새 간 벡스코와 누리마루 등에서 ‘에너지 슈퍼 위크’를 개최한다고 밝혔다. 이 행사는 ‘2025 기후산업국제박람회(WCE)’와 아시아태평양경제협력체(APEC)·청정에너지(CEM)·미션이노베이션(MI) 등 3대 글로벌 에너지 장관회의가 동시에 열리는 사상 첫 사례다. 국제에너지기구(IEA)와 세계은행(WB)이 공동 주최에 나서면서 행사 위상은 한층 격상됐다.\n\n‘AI를 위한 에너지, 에너지를 위한 AI’(Energy for AI & AI for Energy)를 주제로 열리는 WCE는 청정에너지, 전력망, 인공지능(AI) 기반 에너지 전환 등 기후·에너지 산업의 혁신 비전을 제시한다. 12개 학술회의는 물론 540여 개 기업·기관이 6개 전시관에서 최신 기술을 선보인다. 부산 수소동맹관·환경에너지관에는 지역 선도기업도 대거 참여해 역량을 알릴 예정이다. 세계은행과 해외 기업이 참여하는 채용 설명회, 구매 상담회, ‘청년 라이브’ 등 50여 개 부대행사도 병행된다.\n\n27일 벡스코 개막식에는 국무총리를 비롯해 파티 비롤 IEA 사무총장, 미셸 패트론 마이크로소프트 ECS 정책총괄, 마뉴엘라 펠로 WB 부총재 등 주요 인사가 참석한다. 개막식 직후 진행되는 글로벌 에너지 원탁회의에서는 ‘지속가능한 미래를 위한 기업의 역할’을 주제로 심도 깊은 토론이 이어진다.\n\n에너지 장관회의에서는 40여 개국 정책 결정자와 전문가들이 모여 청정 전력, 전력망 구축, 탄소중립 등 글로벌 핵심 의제를 논의한다.\n\n학술행사도 눈길을 끈다. 27일 ‘인공지능과 에너지 전환: 지속가능한 도시를 위한 혁신’ 콘퍼런스에서는 국내외 학계와 기업 전문가들이 발표와 토론을 통해 정책·기술 로드맵을 공유한다. 같은 날 밤 광안리 해변에서는 기후위기 경각심과 환경 메시지를 담은 드론 라이트쇼 특별공연이 펼쳐진다.\n\n박형준 시장은 “부산은 수소 클러스터, 탄소 포집·저장(CCUS), 친환경 선박, 스마트 항만 등 첨단 프로젝트를 추진하며 기후 산업 도시로 성장하고 있다”며 “이번 에너지 슈퍼 위크는 부산이 세계 기후·에너지 전환의 플랫폼으로 자리매김하는 전환점이 될 것”이라고 말했다.\n\n참가를 원하는 시민은 현장 등록(벡스코 제1·2전시장 및 컨벤션홀)을 통해 무료로 입장할 수 있다.'}

3. 취합한 기사들을 요약하기 (LLM w. ollama)

3-1. openai API 사용해보기

!pip install openai
import os

os.environ["OPENAI_API_KEY"] = "sk-..."
from openai import OpenAI

# 로컬 Ollama를 사용하도록 client 설정 변경
client = OpenAI(
    base_url='http://localhost:11434/v1',
    api_key='ollama', # Ollama 사용 시 이 값은 무시됩니다.
)

completion = client.chat.completions.create(
  model="llama3.2:latest",
  messages=[
    {"role": "system", "content": "You are a helpful assistant."},
    {"role": "user", "content": "Why is the sky blue?"}
  ]
)

print(completion.choices[0].message.content)
The sky appears blue to our eyes due to a phenomenon called scattering, which occurs when sunlight interacts with tiny molecules of gases in the Earth's atmosphere.

Here's what happens:

1. **Sunlight enters Earth's atmosphere**: Sunlight, consisting of all the colors of the visible spectrum, enters our atmosphere.
2. **Shorter wavelengths scatter more**: The shorter wavelengths of light (like blue and violet) are scattered by the tiny molecules of gases in the air, such as nitrogen and oxygen. This scattering effect is known as Rayleigh scattering.
3. **Longer wavelengths pass straight through**: The longer wavelengths of light (like red, orange, and yellow) travel straight through the atmosphere without being scattered.
4. **Our eyes perceive the blue color**: When our eyes see the scattered blue light, we perceive it as the dominant color of the sky, making it appear blue.

This phenomenon is more pronounced during the daytime when the sun is overhead, producing a clear blue sky. The color of the sky can vary depending on atmospheric conditions, such as pollution, dust, and water vapor, which can scatter light in different ways.

But why does this only happen with our eyes? The reason is simple: our eyes have cells called cones that are sensitive to specific parts of the visual spectrum. Human vision is particularly sensitive to blue light, making it appear more pronounced in the sky.

Now, know the magic behind this stunning phenomenon!

Would you like me to explain any other fascinating scientific concepts or phenomena?
print(completion.choices[0].message.content)
The sky appears blue to our eyes due to a phenomenon called scattering, which occurs when sunlight interacts with tiny molecules of gases in the Earth's atmosphere.

Here's what happens:

1. **Sunlight enters Earth's atmosphere**: Sunlight, consisting of all the colors of the visible spectrum, enters our atmosphere.
2. **Shorter wavelengths scatter more**: The shorter wavelengths of light (like blue and violet) are scattered by the tiny molecules of gases in the air, such as nitrogen and oxygen. This scattering effect is known as Rayleigh scattering.
3. **Longer wavelengths pass straight through**: The longer wavelengths of light (like red, orange, and yellow) travel straight through the atmosphere without being scattered.
4. **Our eyes perceive the blue color**: When our eyes see the scattered blue light, we perceive it as the dominant color of the sky, making it appear blue.

This phenomenon is more pronounced during the daytime when the sun is overhead, producing a clear blue sky. The color of the sky can vary depending on atmospheric conditions, such as pollution, dust, and water vapor, which can scatter light in different ways.

But why does this only happen with our eyes? The reason is simple: our eyes have cells called cones that are sensitive to specific parts of the visual spectrum. Human vision is particularly sensitive to blue light, making it appear more pronounced in the sky.

Now, know the magic behind this stunning phenomenon!

Would you like me to explain any other fascinating scientific concepts or phenomena?

3-2. 기사를 요약하고 분석하여 정리하기

news_content_list[0]['title']
"글로벌 기후·에너지 허브 노리는 부산…'에너지 슈퍼 위크’ 개막"
news_content_list[0]['main_text']
'IEA·세계은행 공동 주최\nWCE·에너지 장관회의 등\n전례 없는 대규모 행사\n25일부터 29일까지 ‘에너지 슈퍼 위크’가 열리는 부산 전시컨벤션센터 벡스코 전경. 사진제공=벡스코\n\n[서울경제]\n\n부산이 글로벌 기후·에너지 비즈니스 중심지로 도약할 초대형 국제행사를 열었다.\n\n부산시는 25일부터 29일까지 닷새 간 벡스코와 누리마루 등에서 ‘에너지 슈퍼 위크’를 개최한다고 밝혔다. 이 행사는 ‘2025 기후산업국제박람회(WCE)’와 아시아태평양경제협력체(APEC)·청정에너지(CEM)·미션이노베이션(MI) 등 3대 글로벌 에너지 장관회의가 동시에 열리는 사상 첫 사례다. 국제에너지기구(IEA)와 세계은행(WB)이 공동 주최에 나서면서 행사 위상은 한층 격상됐다.\n\n‘AI를 위한 에너지, 에너지를 위한 AI’(Energy for AI & AI for Energy)를 주제로 열리는 WCE는 청정에너지, 전력망, 인공지능(AI) 기반 에너지 전환 등 기후·에너지 산업의 혁신 비전을 제시한다. 12개 학술회의는 물론 540여 개 기업·기관이 6개 전시관에서 최신 기술을 선보인다. 부산 수소동맹관·환경에너지관에는 지역 선도기업도 대거 참여해 역량을 알릴 예정이다. 세계은행과 해외 기업이 참여하는 채용 설명회, 구매 상담회, ‘청년 라이브’ 등 50여 개 부대행사도 병행된다.\n\n27일 벡스코 개막식에는 국무총리를 비롯해 파티 비롤 IEA 사무총장, 미셸 패트론 마이크로소프트 ECS 정책총괄, 마뉴엘라 펠로 WB 부총재 등 주요 인사가 참석한다. 개막식 직후 진행되는 글로벌 에너지 원탁회의에서는 ‘지속가능한 미래를 위한 기업의 역할’을 주제로 심도 깊은 토론이 이어진다.\n\n에너지 장관회의에서는 40여 개국 정책 결정자와 전문가들이 모여 청정 전력, 전력망 구축, 탄소중립 등 글로벌 핵심 의제를 논의한다.\n\n학술행사도 눈길을 끈다. 27일 ‘인공지능과 에너지 전환: 지속가능한 도시를 위한 혁신’ 콘퍼런스에서는 국내외 학계와 기업 전문가들이 발표와 토론을 통해 정책·기술 로드맵을 공유한다. 같은 날 밤 광안리 해변에서는 기후위기 경각심과 환경 메시지를 담은 드론 라이트쇼 특별공연이 펼쳐진다.\n\n박형준 시장은 “부산은 수소 클러스터, 탄소 포집·저장(CCUS), 친환경 선박, 스마트 항만 등 첨단 프로젝트를 추진하며 기후 산업 도시로 성장하고 있다”며 “이번 에너지 슈퍼 위크는 부산이 세계 기후·에너지 전환의 플랫폼으로 자리매김하는 전환점이 될 것”이라고 말했다.\n\n참가를 원하는 시민은 현장 등록(벡스코 제1·2전시장 및 컨벤션홀)을 통해 무료로 입장할 수 있다.'
completion = client.chat.completions.create(
  model="llama3.2:latest", #gpt-3.5-turbo-0125
  messages=[
      {"role": "user", "content":
       """아래 뉴스 내용을 읽고, 핵심내용을 파악하여 2줄 정도로 요약해주세요. 그리고 이 뉴스기사를 통해 후속 기사를 추론해보세요.
       뉴스 제목 : {}
       뉴스 본문 : {}
       """.format(news_content_list[0]['title'], news_content_list[0]['main_text'])}
  ]
)

print(completion.choices[0].message)
ChatCompletionMessage(content="기사 요약:\n\n* 부산은 25~29일까지 '에너지 슈퍼 위크'를 개최한다. 이 행사는 IEA와 World Bank이 공동 주최하여, 기후와 에너지 산업에 대한 전반적인 지식을 공유하고 새로운 technological trend들과 business opportunity를 파악할 수있는 대규모 행사를 개최한다.\n* 에너지 슈퍼 Willi에는 WCE(2025 글로벌 기후산업국제박람회) 등 3대 글로벌 에너지 장관회의가 동시에 열rière며, APEC·CEDM·MI 등 세계적인 국제 행사와 partnership를 맺고 있다.\n\n프롤록 기사는 다음과 같은 내용과 추정된다:\n\n* 부산의 과도한 수소 산업 주장이 이에 대한 대응으로 글로벌 기후·에너지 industry를 위한 플랫폼으로 자리매김하는 노력을 진행하고 있음을 알 수 있다.\n* 글로벌 에너지 industry와 관련된 지역 인프라 및产业 개발 계획이 제시된다.", refusal=None, role='assistant', annotations=None, audio=None, function_call=None, tool_calls=None)
print(completion.choices[0].message.content)
이 뉴스 기za에는 APEC 에너지장관회의와 2025 기후산업국제박람회 (WCE)가 연계 개최되는 '에너지 슈퍼위크'가 25일부터 29일까지 부산 벡스코·누리마루 일대에서 열렸다고 설명하고 있습니다. 

이 행사는 한국의 에너지 분야에서의 국제 리더십을 보여주고, 에너지와 기후 분야에서는 글로벌 전문가들의 대화와 협력을 강화하는 점도 highlight입니다.

 1일后的 전기차 시연회는 지역 전력소비자들이 차량 보유권을 가집니다는 것에 대해 경계를 drawing입니다.

4. google sheet 저장

  1. 구글 클라우드 접속 : https://console.cloud.google.com/
  2. 프로젝트 생성 : newssheet
  3. 사용자 생성 (IAM 관리자 > 서비스계정 만들기) : 뉴스시트를 저장하는데 사용할 서비스용 계정을 만듬 > 역할은 기본-편집자
  4. 이메일 들어가서 키 > 키추가 > JSON > 만들기 : json 으로 키가 다운됨
  5. 다운받은 json key 를 주피터노트북 파일 있는 곳에 올림
  6. 이메일 복사 : newsmanager@newssheet.iam.gserviceaccount.com
  7. drive.google.com 들어가서 google sheet 생성 : 뉴스저장소
  8. sheet 상단 공유 - 이메일 붙여넣기
  9. sheet url 복사 : https://docs.google.com/spreadsheets/d/1wnLZHurAH_J09oDcpYApivmE7bpfPHwkmj7P2DZWXv8/edit?gid=0#gid=0
  10. https://console.cloud.google.com/apis/library/sheets.googleapis.com?project=newssheet : google sheet library 사용 선택

4-1 구글 스프레드 시트에 값 저장하기

!pip install gspread
import gspread

json_file_path = "C:\\dev\\jupyternotebook\\newssheet-1d8ab3ba5ab4.json"
gc = gspread.service_account(json_file_path)
spreadsheet_url = "https://docs.google.com/spreadsheets/d/1wnLZHurAH_J09oDcpYApivmE7bpfPHwkmj7P2DZWXv8/edit?usp=sharing"
doc = gc.open_by_url(spreadsheet_url)

worksheet = doc.worksheet("시트1")
worksheet.update_acell('A1','입력테스트')
{'spreadsheetId': '1wnLZHurAH_J09oDcpYApivmE7bpfPHwkmj7P2DZWXv8',
 'updatedRange': "'시트1'!A1",
 'updatedRows': 1,
 'updatedColumns': 1,
 'updatedCells': 1}

4-2 AI(LLM-ollama-llma3.2) 결과물을 google sheet에 저장

for idx, news_content in enumerate(news_content_list):
    completion = client.chat.completions.create(
      model="llama3.2:latest", #gpt-3.5-turbo-0125
      messages=[
          {"role": "user", "content":
           """아래 뉴스 내용을 읽고, 핵심내용을 2줄 정도로 요약해줘.
           뉴스 제목 : {}
           뉴스 본문 : {}
           """.format(news_content['title'], news_content['main_text'])}
      ]
    )
    

    print(completion.choices[0].message.content)
    # worksheet = doc.worksheet("시트2")
    try:
      worksheet = doc.worksheet("시트2")
    except gspread.WorksheetNotFound:
      worksheet = doc.add_worksheet(title="시트2", rows=100, cols=10)
    
    worksheet.update_acell('A{}'.format(idx+2),news_content['title'])
    worksheet.update_acell('B{}'.format(idx+2),news_content['main_text'])
    worksheet.update_acell('C{}'.format(idx+2),completion.choices[0].message.content)
    worksheet.update_acell('D{}'.format(idx+2),news_list[idx])
 below 뉴스의 핵심 내용을 2줄 정도로 요약해줍니다: 

부산시는 25일부터 29일까지 '에너지 슈퍼 위크'를 개최하며, '2025 기후산업국제박람회(WCE)'와 아시아태평양경제협력체(APEC) 등 3대 글로벌 에너지 장관회의가 동시에 열리는 사상 첫 사례입니다. 이 행사는 세계ई너지기구(IEA), 세계은행(WB)共同 주최로 부산이 글로벌 기후·에너지 산업의 플랫폼으로 자리매김하는 전환점이 될 것이라고Expect이해집니다.
Here is a 2-sentence summary of the news:

우利투자證券은 ETF 투자자를 target으로 "ETF 거래 이벤트"를 진행하고, 다양한 혜택을 제공한다. 이번 이벤트는 8월 22일부터 9월 24일까지 진행되며, ETF 매수 및 매도.Transaction금에 따라 모바일 문화상품권이 추첨된다.
다음 달 전국적으로 아파트 입주 예정 물량은 약 33% 가량 감소하여 1만137134가구로 나타났습니다. 수도권 지역에는 절반 이상인 사상가구가 소정되며, region별로 서울:128ग구, 경기:4천692가구, 인천:875가구가 입주 예정입니다.
하 below는 뉴스 내용을 2줄 정도로 요약해줍니다.

올해 공무원 시험 Preparation을 준비하는 청년은 최소화되었으며, 20~34세 비경제활동인구에서도 13만 9천 명으로 작년보다 3만 명 더減해 4년 연속로 줄어들었습니다. 민간 기업 등 고시와 전문직 chuẩn비 also 감소했지만 반면 일반 기업체 preparation은 25만 명 이상으로 상승했습니다.
60∼64세 연령대에서는 55%가 소득 크레바斯로 인해 연금소득을 받지 못하고있다. 또한 국민연금 수급률은 전체연금수급자의 42.7%, 월평균 100만4천원으로 나타났다.
  1. 메일을 보낸다 - 취합한 뉴스의 내용을 시트에서 읽어서 취합하여 메일로 보낸다
!pip install oauth2client
Collecting oauth2client
  Downloading oauth2client-4.1.3-py2.py3-none-any.whl.metadata (1.2 kB)
Collecting httplib2>=0.9.1 (from oauth2client)
  Downloading httplib2-0.22.0-py3-none-any.whl.metadata (2.6 kB)
Requirement already satisfied: pyasn1>=0.1.7 in c:\users\wclee\appdata\local\programs\python\python313\lib\site-packages (from oauth2client) (0.6.1)
Requirement already satisfied: pyasn1-modules>=0.0.5 in c:\users\wclee\appdata\local\programs\python\python313\lib\site-packages (from oauth2client) (0.4.2)
Requirement already satisfied: rsa>=3.1.4 in c:\users\wclee\appdata\local\programs\python\python313\lib\site-packages (from oauth2client) (4.9.1)
Requirement already satisfied: six>=1.6.1 in c:\users\wclee\appdata\local\programs\python\python313\lib\site-packages (from oauth2client) (1.17.0)
Collecting pyparsing!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3,<4,>=2.4.2 (from httplib2>=0.9.1->oauth2client)
  Downloading pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)
Downloading oauth2client-4.1.3-py2.py3-none-any.whl (98 kB)
Downloading httplib2-0.22.0-py3-none-any.whl (96 kB)
Downloading pyparsing-3.2.3-py3-none-any.whl (111 kB)
Installing collected packages: pyparsing, httplib2, oauth2client

   ---------------------------------------- 0/3 [pyparsing]
   ------------- -------------------------- 1/3 [httplib2]
   -------------------------- ------------- 2/3 [oauth2client]
   -------------------------- ------------- 2/3 [oauth2client]
   -------------------------- ------------- 2/3 [oauth2client]
   ---------------------------------------- 3/3 [oauth2client]

Successfully installed httplib2-0.22.0 oauth2client-4.1.3 pyparsing-3.2.3
import gspread
from oauth2client.service_account import ServiceAccountCredentials
import smtplib
from email.mime.text import MIMEText
from datetime import datetime

sheet = doc.worksheet("시트2")

data = sheet.get_all_values()[1:]  # 첫 줄은 헤더라고 가정하고 제외

# 2. 이메일 본문 구성
email_body = ""
for idx, row in enumerate(data):
    title, main_text, summary, link = row
    email_body += f"📰 {idx+1}. {title}\n📄 본문: {main_text}\n📝 요약: {summary}\n🔗 링크: {link}\n\n"

# 3. 이메일 제목 생성
today = datetime.today().strftime("%Y.%m.%d")
subject = f"경제뉴스 - {today}"

# 4. 이메일 전송 설정
sender = "보낼메일"
receiver = "받을메일"
password = "앱비밀번호"  # 앱 비밀번호 

msg = MIMEText(email_body, _charset="utf-8")
msg["Subject"] = subject
msg["From"] = sender
msg["To"] = receiver

# 5. SMTP로 메일 전송
with smtplib.SMTP_SSL("smtp.gmail.com", 465) as server:
    server.login(sender, password)
    server.sendmail(sender, receiver, msg.as_string())

print("✅ 이메일 전송 완료!")
✅ 이메일 전송 완료!

profile
개발 정리 공간 - 업무일때도 있고, 공부일때도 있고...

0개의 댓글