2009-05-19 15 views
89

Esiste qualche tipo di API che offre solo un semplice servizio di ricerca dei simboli? cioè, inserisci il nome di una società e ti dirà il simbolo del ticker? Ho provato a sfogliare Google Finance, ma dopo un po 'di tempo limita i tuoi limiti e devi inserire un CAPTCHA. Sto provando a cercare in batch circa 2000 simboli ticker. Qualche idea?API ricerca simbolo ticker

+0

Non migliore fortuna con Yahoo Finance? – Noldorin

+0

È necessario aggiungere un ritardo tra le ricerche. Dì 5 secondi. – siamii

+0

Questo script potrebbe essere utile: https: // github.com/kevin91nl/scrape-ticker-symbols –

risposta

100

È possibile utilizzare il simbolo di ricerca di Yahoo in questo modo:

http://d.yimg.com/autoc.finance.yahoo.com/autoc?query=yahoo&callback=YAHOO.Finance.SymbolSuggest.ssCallback

Dove interrogazione è il nome della società.

Otterrete qualcosa di simile in cambio:

YAHOO.Finance.SymbolSuggest.ssCallback(
{ 
    "ResultSet": { 
     "Query": "ya", 
     "Result": [ 
      { 
       "symbol": "YHOO", 
       "name": "Yahoo! Inc.", 
       "exch": "NMS", 
       "type": "S", 
       "exchDisp": "NASDAQ" 
      }, 
      { 
       "symbol": "AUY", 
       "name": "Yamana Gold, Inc.", 
       "exch": "NYQ", 
       "type": "S", 
       "exchDisp": "NYSE" 
      }, 
      { 
       "symbol": "YZC", 
       "name": "Yanzhou Coal Mining Co. Ltd.", 
       "exch": "NYQ", 
       "type": "S", 
       "exchDisp": "NYSE" 
      }, 
      { 
       "symbol": "YRI.TO", 
       "name": "YAMANA GOLD INC COM NPV", 
       "exch": "TOR", 
       "type": "S", 
       "exchDisp": "Toronto" 
      }, 
      { 
       "symbol": "8046.TW", 
       "name": "NAN YA PRINTED CIR TWD10", 
       "exch": "TAI", 
       "type": "S", 
       "exchDisp": "Taiwan" 
      }, 
      { 
       "symbol": "600319.SS", 
       "name": "WEIFANG YAXING CHE 'A'CNY1", 
       "exch": "SHH", 
       "type": "S", 
       "exchDisp": "Shanghai" 
      }, 
      { 
       "symbol": "1991.HK", 
       "name": "TA YANG GROUP", 
       "exch": "HKG", 
       "type": "S", 
       "exchDisp": "Hong Kong" 
      }, 
      { 
       "symbol": "1303.TW", 
       "name": "NAN YA PLASTIC TWD10", 
       "exch": "TAI", 
       "type": "S", 
       "exchDisp": "Taiwan" 
      }, 
      { 
       "symbol": "0294.HK", 
       "name": "YANGTZEKIANG", 
       "exch": "HKG", 
       "type": "S", 
       "exchDisp": "Hong Kong" 
      }, 
      { 
       "symbol": "YAVY", 
       "name": "Yadkin Valley Financial Corp.", 
       "exch": "NMS", 
       "type": "S", 
       "exchDisp": "NASDAQ" 
      } 
     ] 
    } 
} 
) 

Che è JSON e molto facile da lavorare.

Hush ... non dirlo a nessuno.

+1

hey è possibile utilizzare il carattere jolly nella query? provato% e * ma senza fortuna ... – NightWolf

+2

restituisce un massimo di 10 risultati in JSON !!!! Come possiamo bypassare questa limitazione di SOLO 10 risultati ?? – Sandy505

+0

grazie mille! c'è un modo per restituire puro JSON da finanza yahoo se la query è un simbolo di borsa invece di un nome? – bouncingHippo

1

Le tue migliori offerte stanno probabilmente andando con uno degli altri servizi di ricerca (ancora screen-scraping), e controllando se non richiedono CAPTCHA.

L'ultima sembra la meno probabile che richiedono un CAPTCHA in qualsiasi momento, ma vale la pena controllare tutti e tre.

2

Google Finance ha un'API - probabilmente avete fare domanda per uno sviluppatori chiave, ma almeno che ci si salva te stesso il fastidio di screen-scraping: http://code.google.com/apis/finance/reference.html

+3

Google è ora privato di uno non più aperto per le imprese –

24

È possibile inviare una richiesta HTTP al http://finance.yahoo.com richiedendo simboli, nomi, citazioni e tutti i tipi di altri dati. I dati vengono restituiti come .CSV in modo da poter richiedere più simboli in una query.

Quindi, se si invia:

http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn 

Otterrai qualcosa di simile:

"MSFT","Microsoft Corp" 
"F","FORD MOTOR CO" 
"ATT","AT&T" 

Ecco un articolo chiamato Downloading Yahoo Data che comprende i vari tag utilizzati per richiedere il dati.

+1

Sfortunatamente, trovare il nome della società da un simbolo è facile. Sto cercando un modo per automatizzare una ricerca in blocco dei simboli ticker da un elenco di nomi di società. Google ha di gran lunga la migliore ricerca, posso trovare il simbolo per quasi tutte le società nella mia lista senza dover cercare manualmente, ma Google ha un limite di velocità e ti darà un errore 503 dopo circa 1000 richieste. – dancavallaro

+0

non è una risposta, ma utile per il dominio – kenny

+0

sembra che l'utilizzo di api abbia problemi legali. All'apertura [Scaricamento dei dati di Yahoo] si vedrà una nota di Yahoo che l'utilizzo del loro servizio in questo modo è illegale – Bogdan

7

Se non volevi iscriverti a un servizio, probabilmente tornerei agli scambi stessi; la maggior parte di loro non sono ancora CAPTCHAed ...

La pagina di ricerca simbolo per:

ecc ...

+2

Ancora meglio, salta la ricerca dei simboli nei siti di scambio: basta scansionare i propri elenchi completi nel proprio tavolo locale e eseguire personalmente la ricerca. –

+0

@John Pirie: Sì, anche questo ... :-) – Stobor

31

Google Finanza non consentono di recuperare fino a 100 quotazioni in una sola volta utilizzando il seguente URL:

www.google.com/finance/info?infotype=infoquoteall & q = [ticker1], [ticker2] , ..., [tickern]

Ad esempio:

www.google.com/finance/info?infotype=infoquoteall & q = C, JPM, AIG

qualcuno ha decifrato il disponibile campi qui:

http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py

Il prezzo attuale ("l") è in tempo reale e il ritardo è alla pari con Yahoo Finance. Ci sono alcuni capricci di cui dovresti essere a conoscenza. Una manciata di scorte richiede un prefisso di scambio. Ad esempio, se si interroga "BTIM", si otterrà un errore "Richiesta non valida" ma "AMEX: BTIM" funziona. Alcuni titoli non funzionano nemmeno con il prefisso di scambio. Ad esempio, l'esecuzione di query "FTWRD" e "NASDAQ: FTWRD" genera entrambi errori "Bad Request" anche se Google Finance dispone di informazioni per questo stock NASDAQ.

Il campo "el", se presente, indica il prezzo corrente pre-mercato o after-hours.

+4

Spostato su http://qsb-mac-plugins.googlecode.com/svn-history/r4/trunk/stock-quoter/trunk/StockQuoter.py – JRG

+3

Purtroppo sembra che l'API di Google Finance sia deprecata e verrà arrestata il 20 Ottobre 2012 https: // d evelopers.google.com/finance – vegemite4me

+2

Sì, con un'occhiata e google finance è ora privato e non aperto per le imprese. Dato che i goog sono in grado di registrare apis di chiusura record, sarei molto riluttante a basare un'azienda o un'app su di esso a meno che tu non avessi un contratto e lo stipendi con loro –

7

Usa YQL e non c'è bisogno di preoccuparsi. È un linguaggio di query di Yahoo e puoi ottenere tutti i dati di borsa, incluso il nome dell'azienda per il ticker. È un'API REST e restituisce i risultati tramite XML o JSON. Ho un tutorial completo e codice sorgente sul mio sito dare un'occhiata: http://www.jarloo.com/yahoo-stock-symbol-lookup/

+0

Sembra bello ma restituisce un risultato con un limite di 10 risultati. Qualche possibilità di ottenere di più? – Timo