我是Python的新手,但我有一个挑战,我正在努力完成。这不是类相关的,但我正在努力学习如何使用python的网站。
我想做以下几件事:
请访问以下网站:http://finance.yahoo.com/q/op?s=FB&m=2012-12
将低于市价的所有打击和请求存储到名为strike和ask的数组中
如需说明,请参见图片:

与图片对应的示例数组如下:
strike = 10,11,12,13,14,15,16,17,18,19,20
ask = 10.20,8.20,7.20,6.30,5.30,4.40,3.50,2.75,2.05,1.45
它不会抓住21 - 27次罢工,因为这高于市场价格。如果可以使用python,请让我知道这一点。谢谢。
因为这不是一个赋值,所以任何其他可以更容易做到这一点的编程语言也很受欢迎,但我需要将数据存储在数组中
发布于 2012-11-13 11:30:09
编辑:我刚刚意识到你指的是雅虎上的选项页面。金融,而不是基本的股票服务。我敢肯定他们有一个API,但像股票一样,它可能没有发布。我对这个很感兴趣,所以我可能会继续找。
他们有一个以CSV格式返回股票数据的web服务。以下是股票查询的基本格式:
http://finance.yahoo.com/d/quotes.csv?s=GOOG&f=nl1
这两个GET参数是符号列表(用‘s=’指定)和结果CSV文件的格式(用‘f=’指定)。因此,在上面的例子中,我使用了Google的股票代码,格式是获取最后的价格。您可以使用多个符号和多个格式来获取所需的股票数据。
有关格式变量的完整列表,请查看此page。
因此,您真正需要做的就是形成正确的URL,并使用urllib2库的urllib2.open(url)方法来获取CSV文件,然后它只需对CSV库执行一些基本的csv解析。
或者,有一些库已经为您构建了所有这些库。我没有用过其中的任何一个,但如果我还记得的话,我会把它们作为评论发布一些。
发布于 2012-11-13 11:26:37
一种可能的解决方案是抓取结果并将其存储在列表中(我假设)。您可以使用名为lxml的python库抓取页面。http://lxml.de/
让我向您介绍一个类似的教程,http://www.techchorus.net/web-scraping-lxml
在开始学习本教程之前,先浏览一遍xpath。
发布于 2012-11-13 11:29:32
是的,雅虎确实有一个API:http://finance.yahoo.com/d/quotes.csv,可以向它传递一些参数;有关更多细节,请参阅https://github.com/bunburya/bunbot/blob/master/utils/stock.py。
https://stackoverflow.com/questions/13355067
复制相似问题