Code Monkey home page Code Monkey logo

scraper-yahoo's Introduction

Documentazione per il Programma di Scaricamento Dati da Yahoo Finance

Introduzione

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.

Requisiti

  • 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

File symbols.txt

Questo file deve contenere una lista di simboli finanziari, uno per riga, che il programma utilizzerà per scaricare i dati da Yahoo Finance.

Esempio di symbols.txt
AAPL
GOOGL
MSFT

File agents.txt

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.

Esempio di agents.txt
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

File config.json

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.

Struttura di config.json
{
    "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"
            }
        ]
    }
}

Descrizione dei Parametri di config.json

  • dates: Impostazioni per le date di scaricamento.

    • profile: Profilo di date da utilizzare, può essere auto o setDates.
    • profiles: Dettagli sui profili di date.
      • auto: Calcola le date in base alla differenza specificata (diff).
        • type: Tipo di calcolo, in questo caso diff.
        • 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 caso set.
        • startDate: Data di inizio del periodo di scaricamento nel formato YYYY-MM-DD.
        • endDate: Data di fine del periodo di scaricamento nel formato YYYY-MM-DD.
  • outputDir: Directory di output dove verranno salvati i file scaricati.

  • mode: Modalità di scaricamento. Può essere storico, fondamentali o all.

  • profiles: Profili di scaricamento che definiscono le diverse modalità di scaricamento e i rispettivi URL di Yahoo Finance.

Profili di Scaricamento

  • 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.

Utilizzo del Programma

  1. Creare un file symbols.txt con la lista dei simboli desiderati.
  2. Creare un file config.json con le impostazioni di configurazione.
  3. Creare un file agents.txt con la lista degli user agents.
  4. Eseguire l'eseguibile .exe, specificando la cartella base dei file di configurazione come argomento da riga di comando.

Esempio di Esecuzione

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

Note

  • 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.

Conclusione

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.

scraper-yahoo's People

Contributors

spartacus04 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.