5

谷歌的金融 API 是不完整的——页面上的许多数字,例如:

http://www.google.com/finance?fstype=ii&q=NYSE:GE

无法通过 API 获得。

我需要这些数据来根据 Greenblatt 公式对加拿大证券交易所的公司进行排名,该公式可通过谷歌搜索“greenblatt index scans”获得。

我的问题:访问和处理这些网页上的数据的最智能/干净/有效的方式是什么。在这种情况下,这种繁琐的方法真的有必要吗?如果是,最好的方法是什么?我目前正在为与此相关的项目学习 Python。

4

3 回答 3

4

您可以尝试要求 Google 提供缺少的 API。否则,你会被屏幕抓取卡住,这永远不会有趣,容易在没有通知的情况下中断,并且可能违反 Google 的服务条款

但是,如果你仍然想写一个屏幕抓取工具,那么mechanizeBeautifulSoup的组合是很难被击败的。BeautifulSoup 是一个 HTML 解析器,mechanize 是一个基于 Python 的 Web 浏览器,它可以让您登录、存储 cookie,并且通常可以像任何其他 Web 浏览器一样导航。

于 2009-06-17T23:55:59.923 回答
3

BeautifulSoup将是使用 Python 解析 HTML 的首选方法

您是否考虑过 Google 以外的选项(例如 Yahoo Finance API)?

于 2009-06-17T21:42:24.607 回答
0

抓取网页总是很糟糕,但我建议将它们转换为 xml(通过 tidy 或其他一些 HTML -> XML 程序),然后使用 xpath 遍历您感兴趣的节点。

于 2009-06-17T21:20:17.990 回答