Получение финансовых данных от Google Finance, которые выходят за рамки API - PullRequest
5 голосов
/ 18 июня 2009

API финансов Google неполон - многие цифры на странице, такие как:

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

не доступны через API.

Мне нужны эти данные для ранжирования компаний на канадских фондовых биржах в соответствии с формулой Гринблатта, доступной через поиск в Google для "сканирования индекса Гринблатта".

Мой вопрос: каков самый интеллектуальный / чистый / эффективный способ доступа и обработки данных на этих веб-страницах. Действительно ли утомительный подход действительно необходим в этом случае, и если так, каков наилучший способ добиться этого? В настоящее время я изучаю Python для проектов, связанных с этим.

Ответы [ 3 ]

4 голосов
/ 18 июня 2009

Вы можете попробовать попросить Google предоставить недостающие API. В противном случае вы застряли с скребком экрана , который никогда не доставляет удовольствия, может сломаться без уведомления, и может нарушить условия обслуживания Google .

Но, если вы все еще хотите написать скребок для экрана, трудно победить комбинацию mechanize и BeautifulSoup . BeautifulSoup - это анализатор HTML, а mechanize - это веб-браузер на основе Python, который позволяет вам входить в систему, хранить файлы cookie и вообще перемещаться, как и любой другой веб-браузер.

3 голосов
/ 18 июня 2009

BeautifulSoup будет предпочтительным методом парсинга HTML с Python

Рассматривали ли вы варианты помимо Google (например, Yahoo Finance API)?

0 голосов
/ 18 июня 2009

Очистка веб-страниц - отстой, но я бы порекомендовал преобразовать их в xml (с помощью tidy или другой программы HTML -> XML) и затем использовать xpath для обхода интересующих вас узлов.

...