Skip to content

team-spark-code/redfin_scraper

Repository files navigation

Redfin Scraper

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                  # 프로젝트 문서

🚀 빠른 시작

1. 환경 설정

# 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

2. RSS 피드 수집

# 전체 RSS 피드 수집
./scripts/crawl_feed.sh

# 또는 직접 실행
cd hit_rss
scrapy crawl rss_feed -s LOG_LEVEL=INFO

3. 본문 추출 (선택사항)

# 전체 본문 추출
./scripts/crawl_article.sh

# 50건만 테스트 추출
./scripts/crawl_article.sh 50

# 또는 직접 실행
cd hit_rss
scrapy crawl article_extractor -a limit=50 -s LOG_LEVEL=INFO

About

Scrapy를 이용해 AI 산업 관련 RSS 및 뉴스 사이트에서 데이터를 수집하고 정제하여, RedFin 서비스의 데이터 소스로 제공합니다.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors