Получение финансовых данных от Google Finance, которые выходят за рамки API

StackOverflow https://stackoverflow.com/questions/1009524

Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Обсуждали ли вы варианты помимо Google (например, Yahoo Finance API)?

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top