Questo programma consente di scaricare dati finanziari da Yahoo Finance utilizzando dei proxy. Il programma richiede tre file di configurazione: symbols.txt
, config.json
e agents.txt
. Il programma è fornito come eseguibile .exe
.
- File
symbols.txt
contenente la lista dei simboli da scaricare - File
config.json
con la configurazione delle operazioni di scaricamento - File
agents.txt
con la lista di user agents da utilizzare per le richieste
Questo file deve contenere una lista di simboli finanziari, uno per riga, che il programma utilizzerà per scaricare i dati da Yahoo Finance.
AAPL
GOOGL
MSFT
Questo file deve contenere una lista di user agents, uno per riga, che il programma utilizzerà per le richieste HTTP durante il download dei dati. Diversi user agents possono aiutare a evitare il blocco da parte del server.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
Questo file contiene le impostazioni di configurazione per il programma. Deve essere formattato come un file JSON e include vari parametri come le date, la directory di output e i profili di scaricamento. Se le date per un certo dato non sono valide, sarà segnalato in logs.txt
.
{
"dates": {
"profile": "auto",
"profiles": {
"auto": {
"type": "diff",
"years": 2,
"months": 6,
"days": 0
},
"setDates": {
"type": "set",
"startDate": "2023-06-01",
"endDate": "2023-12-31"
}
}
},
"outputDir": "data",
"mode": "fondamentali",
"profiles": {
"storico": [
{
"outTemplate": "${symbol}.txt",
"baseUrl": "https://query1.finance.yahoo.com/v7/finance/download/${symbol}?period1=${START_DATE}&period2=${END_DATE}&interval=1d&events=history&includeAdjustedClose=true",
"customErrorMessages": [
"<!DOCTYPE html>",
"<html>"
]
}
],
"fondamentali": [
{
"outTemplate": "summary_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}"
},
{
"outTemplate": "profile_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/profile"
},
{
"outTemplate": "statistics_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/key-statistics"
},
{
"outTemplate": "financials_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/financials"
},
{
"outTemplate": "analysis_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/analysis"
}
],
"all": [
{
"outTemplate": "${symbol}.txt",
"baseUrl": "https://query1.finance.yahoo.com/v7/finance/download/${symbol}?period1=${START_DATE}&period2=${END_DATE}&interval=1d&events=history&includeAdjustedClose=true",
"customErrorMessages": [
"<!DOCTYPE html>",
"<html>"
]
},
{
"outTemplate": "summary_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}"
},
{
"outTemplate": "profile_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/profile"
},
{
"outTemplate": "statistics_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/key-statistics"
},
{
"outTemplate": "financials_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/financials"
},
{
"outTemplate": "analysis_${symbol}.txt",
"baseUrl": "https://finance.yahoo.com/quote/${symbol}/analysis"
}
]
}
}
-
dates
: Impostazioni per le date di scaricamento.profile
: Profilo di date da utilizzare, può essereauto
osetDates
.profiles
: Dettagli sui profili di date.auto
: Calcola le date in base alla differenza specificata (diff
).type
: Tipo di calcolo, in questo casodiff
.years
: Numero di anni di differenza dalla data attuale.months
: Numero di mesi di differenza dalla data attuale.days
: Numero di giorni di differenza dalla data attuale.
setDates
: Utilizza date fisse.type
: Tipo di date, in questo casoset
.startDate
: Data di inizio del periodo di scaricamento nel formatoYYYY-MM-DD
.endDate
: Data di fine del periodo di scaricamento nel formatoYYYY-MM-DD
.
-
outputDir
: Directory di output dove verranno salvati i file scaricati. -
mode
: Modalità di scaricamento. Può esserestorico
,fondamentali
oall
. -
profiles
: Profili di scaricamento che definiscono le diverse modalità di scaricamento e i rispettivi URL di Yahoo Finance.
outTemplate
: Template per il nome del file di output.baseUrl
: URL base per il download di tutti i dati.customErrorMessages
: Lista di messaggi di errore personalizzati per identificare risposte HTML non valide.
- Creare un file
symbols.txt
con la lista dei simboli desiderati. - Creare un file
config.json
con le impostazioni di configurazione. - Creare un file
agents.txt
con la lista degli user agents. - Eseguire l'eseguibile
.exe
, specificando la cartella base dei file di configurazione come argomento da riga di comando.
Doppio click sull'eseguibile scarica_dati.exe
o eseguirlo tramite il prompt dei comandi, specificando la cartella base dei file di configurazione:
yahoo_downloader.exe C:\path\to\config\directory
- Assicurarsi che le date nel file
config.json
siano nel formato corretto. - Verificare che la directory di output esista o che il programma abbia i permessi per crearla.
- Il programma utilizza dei proxy, quindi assicurarsi che le impostazioni del proxy siano configurate correttamente se necessario.
- I
customErrorMessages
sono utilizzati per identificare le risposte non valide che potrebbero essere restituite al posto dei dati attesi. - Eventuali errori relativi alle date non valide saranno registrati nel file
logs.txt
. - Diversi user agents nel file
agents.txt
possono aiutare a evitare il blocco da parte del server.
Questa documentazione fornisce le informazioni necessarie per configurare e utilizzare il programma di scaricamento dati da Yahoo Finance. Seguendo le istruzioni fornite, sarà possibile scaricare i dati desiderati in modo efficace e organizzato.