트위터 수집 방법
핵심 원칙
트위터는 직접 크롤링이 불가능하다. twikit + Chrome 쿠키 인증 방식으로만 동작한다. "트위터 못 읽겠다"가 아니라, 아래 방법으로 직접 실행한다.
실행 방법
# 기본 실행 (수집+분석+텔레그램 전송)
python3.13 ~/.openclaw/workspace/scripts/pipeline/twitter_collector.py --notify
# 전송 없이 확인만
python3.13 ~/.openclaw/workspace/scripts/pipeline/twitter_collector.py --dry-run
# 통계 확인
python3.13 ~/.openclaw/workspace/scripts/pipeline/twitter_collector.py --stats
쿠키 인증 구조
1순위: Chrome 브라우저에서 자동 추출 (browser_cookie3 라이브러리)
→ Chrome에 X.com 로그인된 상태여야 함
2순위: 캐시 파일 사용
→ ~/.openclaw/workspace/memory/twitter-collector/cookies_cache.json
에러별 대처
| 에러 | 원인 | 해결 |
|---|---|---|
X cookies not found |
Chrome에 X.com 미로그인 | 캐시 파일 확인: cat ~/.openclaw/workspace/memory/twitter-collector/cookies_cache.json |
auth_token 없음 |
쿠키 만료 | 캐시 파일의 auth_token 값이 있는지 확인 |
Rate limit |
요청 과다 | 1~2시간 대기 후 재시도 |
수집 계정 목록
~/.openclaw/workspace/memory/twitter-collector/accounts.json
메모리 시스템 (claude-mem)
핵심 원칙
세션 간 기억 유지는 claude-mem API (localhost:37777)를 통해 한다. "지난번에 어떻게 했더라?"가 아니라, 직접 조회한다.
기억 조회
# 관련 기억 검색
curl -s "http://localhost:37777/api/search?query=트위터&limit=3"
curl -s "http://localhost:37777/api/search?query=에러수리&limit=3"
curl -s "http://localhost:37777/api/search?query=checkpoint&limit=1"
응답 구조: {"content": [{"type": "text", "text": "...결과..."}]}
기억 저장
curl -s -X POST "http://localhost:37777/api/memory/save" \
-H "Content-Type: application/json" \
-d '{"text": "여기에 저장할 내용"}'
언제 저장하나
- 에러를 수리했을 때 → 원인+해결책 저장
- 새로운 우회 방법을 발견했을 때
- 반복해서 물어보게 될 것 같은 정보
API 다운 시
{"status":"ok"} 확인: curl -s http://localhost:37777/health
다운이면 silent fail (세션 차단 금지, 그냥 진행)