下载股票报价到App(Downloading Stock quotes to App)

2019-07-29 07:55发布

我是新来的iOS编程,并希望在iPad应用程序我设计显示股票行情和股票的细节。 我在看两个选项进出口寻找在谷歌财经或雅虎财经。

我怎么会去发送URL请求到他们的网站,然后处理在Xcode的回答吗?

我看到雅虎有YQL服务,但我不能换我周围我将如何得到它的头,尽管读了一些雅虎在线文档,以便即时通讯寻求避免它的工作。 香港专业教育学院有一个看看谷歌的API,但我无法弄清楚如何整合并得到它要求股票的细节。 我决定去通过URL请求路径,并尝试做了一些基本的代码来处理从URL请求的答复,因为这似乎是最简单的选择(虽然我不知道这将如何工作了股票搜索时) 。

Answer 1:

只是删除了我的全部答案,并重写了它,以避免混淆:

我看着如何使用YQL查询雅虎财经API和这里就是我结束了:

下面是完整的代码完全制定请求字符串。 您可以直接抛出此进入NSURL的NSMutableURLRequest并会得到一个JSON响应。 此代码将获取每个股票的每一个属性。 要改变这一点,你需要在前缀此位指定单独的属性,而不是*(选择20%* 20%)。 我把它的一部分从示例代码这篇文章 。 我修改了代码以适应异步请求(也改成了略微因为它的一部分似乎已经过时,不能正常工作。

#define QUOTE_QUERY_PREFIX @"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20("
#define QUOTE_QUERY_SUFFIX @")%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json"

+ (NSString *)formulateYQLRequestFor:(NSArray *)tickers
{
    NSMutableString *query = [[NSMutableString alloc] init];
    [query appendString:QUOTE_QUERY_PREFIX];
    for (int i = 0; i < [tickers count]; i++) 
    {
        NSString *ticker = [tickers objectAtIndex:i];
        [query appendFormat:@"%%22%@%%22", ticker];
        if (i != [tickers count] - 1)
        {
            [query appendString:@"%2C"];
        }
    }
    [query appendString:QUOTE_QUERY_SUFFIX];

    return query;
}

你会做类似调用此:

NSArray *tickerArray = [[NSArray alloc] initWithObjects:@"AAPL", @"VZ", nil];
NSString *queryURL = [MyClass formulateYQLRequestFor:tickerArray];

使用这个答案 ,看看如何制定的要求并消耗回来的JSON。 从本质上讲,你需要改变的部分是

NSURL *url = [NSURL URLWithString:queryURL];

你还没有发送过JSON所以你应该改变的要求,以反映。



Answer 2:

My ScriptScraper tool does something similar, it loads the stocks into an Excel table.

cheers, Martin



文章来源: Downloading Stock quotes to App