Una publicación de r/redditstock cubrió las demandas de Reddit vs Anthropic/SerpAI/Oxylabs, destacando que los datos de Reddit son territorio en disputa. Este tutorial crea un rastreador de sentimiento de acciones legal basado en API utilizando el punto final Reddit de Scavio.
Requisitos previos
- Clave API de Scavio
- Python 3.8+
- Clave API de LLM para puntuación de sentimiento
Guia paso a paso
Paso 1: Busque en Reddit menciones en el teletipo
Utilice el punto final Reddit de Scavio para datos de subprocesos estructurados.
import requests, os
H = {'x-api-key': os.environ['SCAVIO_API_KEY']}
def reddit_sentiment(ticker):
return requests.post('https://api.scavio.dev/api/v1/search',
headers=H,
json={'platform': 'reddit', 'query': f'{ticker} stock',
'sort': 'new', 'time_range': 'day'}).json()Paso 2: Sentimiento de puntuación con LLM
Envíe los títulos de los hilos y los comentarios principales a un LLM.
from anthropic import Anthropic
client = Anthropic()
def score_sentiment(threads):
titles = '\n'.join([t['title'] for t in threads[:20]])
return client.messages.create(model='claude-sonnet-4-6', max_tokens=100,
messages=[{'role': 'user', 'content': f'Rate overall sentiment for this stock ticker (bullish/neutral/bearish) based on these Reddit thread titles. One word answer + confidence 1-10.\n\n{titles}'}]).content[0].textPaso 3: Seguimiento del sentimiento a lo largo del tiempo
Registro diario para análisis de tendencias.
import json, datetime
def log_sentiment(ticker, sentiment, thread_count):
with open(f'sentiment/{ticker}.jsonl', 'a') as f:
f.write(json.dumps({'date': str(datetime.date.today()),
'ticker': ticker, 'sentiment': sentiment,
'thread_count': thread_count}) + '\n')Paso 4: Programar ejecuciones diarias
Trabajo cron para el seguimiento diario del sentimiento.
# crontab: 0 18 * * 1-5 python sentiment_tracker.py
# Runs at market close (6 PM) on weekdays
# Tracks 10 tickers: 10 × 2 credits = $0.10/dayEjemplo en Python
# Legal approach: Scavio's Reddit endpoint returns structured data
# via API, not scraping. No ToS violation risk.
# 10 tickers × 2 credits/call × 20 trading days = 400 credits/mo = $2/moEjemplo en JavaScript
const reddit = await fetch('https://api.scavio.dev/api/v1/search', {
method: 'POST', headers: {'x-api-key': process.env.SCAVIO_API_KEY, 'Content-Type': 'application/json'},
body: JSON.stringify({platform: 'reddit', query: `${ticker} stock`, sort: 'new'})
});Salida esperada
Daily stock sentiment tracker: Reddit mentions per ticker, LLM sentiment scoring, JSONL trend log. Legal API-based approach.