AI 뉴스 RSS 피드 수집 및 본문 추출을 위한 Scrapy 기반 웹 스크래퍼입니다.
이 프로젝트는 AI 산업 전반의 뉴스와 연구 동향을 모니터링하기 위해 다음과 같은 기능을 제공합니다:
- RSS 피드 수집: OpenAI, Google AI, Microsoft Research 등 주요 AI 연구소 및 기업의 블로그 피드 수집
- 본문 추출: 수집된 뉴스의 전체 본문 내용 추출 (Readability 라이브러리 사용)
- 데이터 저장: JSON Lines 형식으로 구조화된 데이터 저장
- MongoDB 연동: 선택적 MongoDB 저장 지원
redfin_scraper/
├── hit_rss/ # Scrapy 프로젝트
│ ├── hit_rss/
│ │ ├── spiders/ # 스파이더 모듈
│ │ │ ├── rss_feed.py # RSS 피드 수집
│ │ │ └── article_extractor.py # 본문 추출
│ │ ├── items.py # 데이터 모델
│ │ ├── pipelines.py # 데이터 파이프라인
│ │ ├── settings.py # Scrapy 설정
│ │ └── middlewares.py # 미들웨어
│ └── scrapy.cfg # Scrapy 설정 파일
├── feeds/
│ └── feeds.yaml # RSS 피드 목록
├── scripts/ # 실행 스크립트
│ ├── crawl_feed.sh # RSS 피드 수집 실행
│ └── crawl_article.sh # 본문 추출 실행
├── data/
│ └── out/ # 출력 데이터
│ ├── ai_news.jsonl # RSS 피드 수집 결과
│ └── articles.jsonl # 본문 추출 결과
├── ai_rss/ # 대체 AI RSS 크롤러
├── ai_rss_crawler.sh # AI RSS 크롤러 설정 스크립트
├── setup.sh # 환경 설정 스크립트
└── README.md # 프로젝트 문서
# Node.js 및 pnpm 설치 (setup.sh 실행)
./setup.sh
# Python 가상환경 생성 및 패키지 설치
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt# 전체 RSS 피드 수집
./scripts/crawl_feed.sh
# 또는 직접 실행
cd hit_rss
scrapy crawl rss_feed -s LOG_LEVEL=INFO# 전체 본문 추출
./scripts/crawl_article.sh
# 50건만 테스트 추출
./scripts/crawl_article.sh 50
# 또는 직접 실행
cd hit_rss
scrapy crawl article_extractor -a limit=50 -s LOG_LEVEL=INFO