Если все в порядке, вы можете получить доступ к .Net из вашего любимого Lisp через Edi Weitz 'RDNZL .
Вы можете использовать поиск символов Yahoo так:
Где запрос - это название компании.
В ответ вы получите что-то вроде этого:
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"
}
]
}
}
)
Это JSON, с которым очень легко работать.
Тише. .. не говори никому.
Вы можете отправить HTTP-запрос на http://finance.yahoo.com с запросом символов, имен, кавычек и всевозможных других данных. Данные возвращаются в виде .CSV , поэтому вы можете запросить несколько символов в одном запросе.
Итак, если вы отправите:
http://finance.yahoo.com/d/quotes.csv?s=MSFT+F+ATT&f=sn
, вы получите что-то вроде:
"MSFT","Microsoft Corp"
"F","FORD MOTOR CO"
"ATT","AT&T"
Вот ] статья под названием Загрузка данных Yahoo , которая включает различные теги , используемые для запроса данных.
Если вы не хотите подписываться на услугу, я, вероятно, вернусь к самим биржам; большинство из них еще не обработано CAPTCHA ...
Страница поиска символов для:
и т.д ...
Лучше всего, вероятно, использовать одну из других служб поиска (по-прежнему сканируя экран) и проверить, не работают ли они требовать CAPTCHA.
Последний вариант с наименьшей вероятностью потребует CAPTCHA в любой момент, но стоит проверить все три.
В Google Finance есть API - вам, вероятно, придется подать заявку на ключ разработчика, но по крайней мере вы избавите себя от хлопот с экрана: http://code.google.com/apis/finance/reference.html
Google Finance позволяет получить до 100 котировок акций сразу по следующему URL:
www.google.com/finance/info?infotype=infoquoteall&q=[ticker1],[ticker2],...,[tickern]
Например:
www.google.com/finance/info?infotype=infoquoteall&q=C,JPM,AIG
Здесь кто-то расшифровал доступные поля:
http://qsb-mac.googlecode.com/svn/trunk/Vermilion/Modules/StockQuoter/StockQuoter.py
Текущая цена ("l") находится в режиме реального времени, а задержка совпадает с Yahoo Finance. Есть несколько причуд, о которых вам следует знать. Горстка акций требует наличия биржевого префикса. Например, если вы сделаете запрос "BTIM", вы получите ошибку "Bad Request", но "AMEX:BTIM" работает. Некоторые акции не работают даже с биржевым префиксом. Например, при запросе "FTWRD" и "NASDAQ:FTWRD" возникают ошибки "Bad Request", несмотря на то, что в Google Finance есть информация по этой акции NASDAQ.
В поле "el", если оно присутствует, указывается текущая цена до или после биржи.
.Используйте YQL: язык, подобный sql, для извлечения данных из общедоступных API: Консоль YQL (внешняя ссылка)
Это дает вам хороший XML-файл для работы!
Вы можете использовать операцию «Поиск компании» в API Основы компании здесь: http://www.mergent.com/servius/