← Back to Blog

[Python] Notion News Crawler Library

computer science > programming

2026-07-041 min read

#computer-science #programming #python #notion

라이브러리 제작 동기

평소에 협업 할 때 Notion, 혼자 사용할 때 Obsidian을 사용하였다. 그러던 중 Google MLB 모임에서 Notion을 잘 활용하는 분을 보고 Notion 자동화에 관심이 생겼다.

또한, 최근에 편향적으로 뉴스를 선택한다는 점을 느꼈다. 자동화 봇을 통해 뉴스를 불러오면 이러한 문제해결이 가능하다고 생각하였다.


라이브러리 소개

설치

https://pypi.org/project/notion-news-crawler/

notion-news-crawler

pip install notion-news-crawler

개발 Github

https://github.com/kar7mp5/Notion-News-Crawler

GitHub - kar7mp5/Notion-News-Crawler: Notion news crawler

API 설정

Naver API와 Notion API를 발급받고 환경변수(.env 파일) 작성하여 사용한다.

Naver API Naver API docs Naver Application

Notion API Notion API

환경변수(.env 파일) 설정

# Notion
NOTION_TOKEN='YOUR NOTION TOKEN'
NOTION_DATABASE_ID='YOUR NOTION DATABASE ID'

# Naver
X_NAVER_CLIENT_ID='YOUR NAVER CLIENT ID'
X_NAVER_SECRET='YOUR NAVER SECRET KEY'

라이브러리 사용

from notion_news_crawler import NaverAPI, UploadToDataBase, ResetDatabase

if __name__=='__main__':
    reset_database = ResetDatabase()
    reset_database.delete_all_pages()

    for subject in ['Economy', 'Science', 'Society', 'Politics', 'Stock']:
        naver_api = NaverAPI(subject, 100)
        news_data = naver_api.parse_data(naver_api.get_news())

        upload_to_database = UploadToDataBase(news_data)
        upload_to_database.add_to_notion()

Notion 적용 화면

image-1 image-2 image-3