[IT/기술] [AI 블로그 자동화 가이드] 2편 — 뉴스 소스 & 데이터 수집
Part 2: 뉴스 소스 & 데이터 수집
Tech 뉴스 소스
주요 소스
1. TechCrunch (RSS: https://techcrunch.com/feed/)
- 고품질, 빠름, 하지만 상품화됨
- 속보용으로 사용, 심층 분석은 아님
2. The Verge (RSS: https://www.theverge.com/rss/index.xml)
- 소비자 테크, 제품 리뷰에 훌륭
- 댓글 섹션에 좋은 신호 있음
3. MIT Technology Review (RSS 가능, 페이월 기사)
- 인용용 권위 부스트
- 심층 분석 피스
4. arXiv.org (API: http://export.arxiv.org/api/query?search_query=)
- AI/ML 학술 논문
- "research shows..." 신뢰성 확보용
- 예시 쿼리:
cat:cs.AI+AND+submittedDate:[202401*+TO+202412*]
커뮤니티 소스
5. Hacker News (Algolia API: http://hn.algolia.com/api/v1/search?tags=story)
- 톱 스토리가 메인스트림보다 12-24시간 앞섬
- 댓글 품질은 다양하지만, 업보트 높은 댓글 = 좋은 인사이트
6. Reddit r/technology (Reddit API)
/r/technology/rising으로 조기 트렌드 감지- 업보트 속도(포인트/시간)로 필터링
7. Reddit r/MachineLearning (특화된 AI 콘텐츠)
- r/technology보다 신호 대 잡음비 높음
- 학술 논의
수집 빈도: 뉴스 사이트는 4시간마다. 업무 시간 중 Reddit/HN은 1시간마다.
금융/주식 소스
시장 데이터
1. yfinance (Python 라이브러리)
import yfinance as yf
stock = yf.Ticker("AAPL")
data = stock.info # 가격, 시가총액, 비율 가져옴
news = stock.news # 주식 관련 최근 뉴스- 무료, 신뢰성, API 키 불필요
- Rate limit: ~2,000 요청/시간
2. Yahoo Finance RSS (https://finance.yahoo.com/news/rssindex)
- 속보 시장 뉴스
- 실적 보고서
3. MarketWatch (웹 스크래핑 필요 - 먼저 TOS와 robots.txt 확인)
- 오피니언 피스, 시장 분석
- Beautiful Soup 사용:
soup.find_all("article", class_="article__content")
커뮤니티 심리
4. Reddit r/wallstreetbets
- 리테일 심리 지표 (역발상 신호)
- 티커 멘션, 심리 키워드 추적
5. Reddit r/stocks (더 진지한 분석)
- DD(Due Diligence) 포스트는 콘텐츠 금광
- "DD" 플레어로 포스트 필터링
공식 데이터
6. SEC EDGAR (API: https://www.sec.gov/cgi-bin/browse-edgar)
- 10-K/10-Q 제출 (실적, 리스크)
- 사실적 데이터용, 읽기 쉬운 콘텐츠 아님
수집 전략: 매일 오후 4시 ET(시장 마감 후)에 Python 스크립트 실행. 상위 20 변동주, Reddit 트렌딩 티커, 다가오는 실적(1주일 앞) 수집.
저장 스키마:
CREATE TABLE stock_data (
ticker VARCHAR(10),
price DECIMAL,
change_percent DECIMAL,
volume BIGINT,
reddit_mentions INT,
sentiment_score DECIMAL,
collected_at TIMESTAMP
);문화/트렌드 소스
영어 소스
1. Google News (토픽별 RSS: https://news.google.com/rss/topics/)
/topics/CAAqJggKIiBDQkFTRWdvSUwyMHZNRFZxYUdjU0FtVnVHZ0pWVXlnQVAB= Entertainment- 국가 코드로 커스터마이징
2. Reddit r/entertainment, r/movies, r/television
- 쇼, 셀럽, 논란에 대한 조기 화제
API 접근 방법
Reddit API 설정
https://www.reddit.com/prefs/apps에서 앱 생성- PRAW 라이브러리 사용:
import praw
reddit = praw.Reddit(
client_id="YOUR_CLIENT_ID",
client_secret="YOUR_SECRET",
user_agent="BlogCollector/1.0"
)
subreddit = reddit.subreddit("technology")
hot_posts = subreddit.hot(limit=50)Rate limit: 60 요청/분 (로그인 상태). OAuth 사용.
RSS 파싱
feedparser 사용 (Python):
import feedparser
feed = feedparser.parse("https://techcrunch.com/feed/")
for entry in feed.entries[:10]:
print(entry.title, entry.link, entry.published)팁: 일부 사이트는 RSS를 rate limit 한다. 예의 바르게 If-Modified-Since 헤더 사용.
웹 스크래핑 (API 없을 때)
⚠️ 법적 리마인더: 구현 전:
- 타겟 사이트에서 robots.txt 확인
- 서비스 약관 읽기 ("scraping", "automated access", "bots" 검색)
- 데이터가 저작권 보호되는지 고려
- 공식 API 사용 가능하면 사용
- 자신을 식별하는 User-Agent 추가
- Rate limiting 구현 (최소 2-5초 딜레이)
동적 콘텐츠엔 Selenium 사용:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)
driver.get("https://example.com")
content = driver.find_element_by_id("article-content").text탐지 방지: undetected-chromedriver 라이브러리 사용. User agent 교체. 사람 같은 딜레이 추가 (랜덤 1-3초).
실시간 채팅
4개 메시지실시간채팅도 돼
이욜
메뉴마다 채팅을 다르게 할수 잇네요 ㅋㅋ
맞아..