2009-06-17 62 views
5

API tài chính của Google là không đầy đủ - rất nhiều các con số trên một trang như:Lấy dữ liệu tài chính từ Google Finance đó nằm ngoài phạm vi của API

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

không có sẵn thông qua API.

Tôi cần dữ liệu này để xếp hạng các công ty trên sàn chứng khoán Canada theo công thức của Greenblatt, có sẵn thông qua tìm kiếm google cho "quét chỉ mục greenblatt".

Câu hỏi của tôi: cách thông minh nhất/sạch/hiệu quả nhất để truy cập và xử lý dữ liệu trên các trang web này là gì. Là cách tiếp cận tẻ nhạt thực sự cần thiết trong trường hợp này, và nếu như vậy, cách tốt nhất để đi về nó là gì? Tôi hiện đang học Python cho các dự án liên quan đến dự án này.

Trả lời

4

Bạn có thể thử yêu cầu Google cung cấp các API bị thiếu. Nếu không, bạn bị kẹt với screen scraping, điều này không bao giờ thú vị, dễ bị phá vỡ mà không cần thông báo và có khả năng vi phạm điều khoản dịch vụ của Google.

Tuy nhiên, nếu bạn vẫn muốn viết một màn hình scraper, thật khó để đánh bại sự kết hợp của mechanizeBeautifulSoup. BeautifulSoup là trình phân tích cú pháp HTML và cơ giới hóa là trình duyệt web dựa trên Python, cho phép bạn đăng nhập, lưu trữ cookie và thường điều hướng xung quanh như bất kỳ trình duyệt web nào khác.

0

Nạo trang web luôn sucks, nhưng tôi muốn giới thiệu chuyển đổi chúng sang xml (thông qua gọn gàng hoặc một số HTML khác -> chương trình XML). Và sau đó sử dụng xpath đi các nút mà bạn quan tâm ở

3

BeautifulSoup sẽ là phương pháp phân tích cú pháp HTML ưa thích với Python

Bạn đã xem xét các tùy chọn bên cạnh Google (ví dụ: Yahoo Finance API) chưa?

+0

Cảm ơn, tôi sẽ xem xét BeautifulSoup. Bạn nói đúng rằng Yahoo Finance API hoàn chỉnh hơn - thật không may, Yahoo không có dữ liệu cần thiết khi nói đến cổ phiếu của Canada. – Marco

Các vấn đề liên quan