kar7mp5
[Notion] 노션 뉴스 크롤링 라이브러리 제작 일기 본문
728x90
라이브러리 제작 동기
평소에 협업 할 때 Notion
, 혼자 사용할 때 Obsidian
을 사용하였다.
그러던 중 Google MLB 모임에서 Notion
을 잘 활용하는 분을 보고 Notion
자동화에 관심이 생겼다.
또한, 최근에 편향적으로 뉴스를 선택한다는 점을 느꼈다. 자동화 봇을 통해 뉴스를 불러오면 이러한 문제해결이 가능하다고 생각하였다.
라이브러리 소개
설치
https://pypi.org/project/notion-news-crawler/
notion-news-crawler
Notion news mecro
pypi.org
pip install notion-news-crawler
개발 Github
https://github.com/kar7mp5/Notion-News-Crawler
GitHub - kar7mp5/Notion-News-Crawler: Notion news crawler
Notion news crawler. Contribute to kar7mp5/Notion-News-Crawler development by creating an account on GitHub.
github.com
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 적용 화면
728x90