2009-06-17 65 views
5

谷歌的財務API範圍之外的財務數據是不完整的 - 許多頁面上的人物,如:獲得來自谷歌財經也就是API

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

不可通過API。

我需要此數據根據Greenblatt的公式,可以通過谷歌搜索「greenblatt index scans」在加拿大證券交易所對公司進行排名。

我的問題:訪問和處理這些網頁上的數據最聰明/乾淨/有效的方式是什麼?在這種情況下,這種乏味的方法確實是必要的,如果是這樣的話,那麼最好的方法是什麼?我目前正在學習與此相關的項目的Python。

回答

4

您可以嘗試要求Google提供缺少的API。否則,你會陷入screen scraping,這從來沒有樂趣,容易打破,恕不另行通知,並且可能違反了Google的服務條款

但是,如果你仍然想寫一個屏幕刮板,很難擊敗mechanizeBeautifulSoup的組合。 BeautifulSoup是一個HTML解析器,mechanize是一個基於Python的網頁瀏覽器,可以讓你登錄,存儲cookies,並像其他任何網頁瀏覽器一般瀏覽。

0

刮網頁總是很爛,但我會建議將它們轉換爲XML(通過整齊或其他一些HTML - > XML程序)。然後使用XPath走,你感興趣的節點

3

BeautifulSoup會是用Python解析HTML的首選方法

您是否研究過Google以外的選項(例如Yahoo Finance API)?

+0

謝謝,我會調查BeautifulSoup。雅虎財經API更完整 - 不幸的是,雅虎在加拿大股票方面沒有必要的數據。 – Marco 2009-06-18 02:12:38