首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Web数据收集

Python Web数据收集
EN

Stack Overflow用户
提问于 2012-11-13 11:10:55
回答 5查看 719关注 0票数 0

我是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,请让我知道这一点。谢谢。

因为这不是一个赋值,所以任何其他可以更容易做到这一点的编程语言也很受欢迎,但我需要将数据存储在数组中

EN

回答 5

Stack Overflow用户

发布于 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解析。

或者,有一些库已经为您构建了所有这些库。我没有用过其中的任何一个,但如果我还记得的话,我会把它们作为评论发布一些。

票数 1
EN

Stack Overflow用户

发布于 2012-11-13 11:26:37

一种可能的解决方案是抓取结果并将其存储在列表中(我假设)。您可以使用名为lxml的python库抓取页面。http://lxml.de/

让我向您介绍一个类似的教程,http://www.techchorus.net/web-scraping-lxml

在开始学习本教程之前,先浏览一遍xpath。

票数 0
EN

Stack Overflow用户

发布于 2012-11-13 11:29:32

是的,雅虎确实有一个API:http://finance.yahoo.com/d/quotes.csv,可以向它传递一些参数;有关更多细节,请参阅https://github.com/bunburya/bunbot/blob/master/utils/stock.py

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13355067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档