2017-07-01 13 views
-1

私は株価指数(NSE:NIFTY50)のデータをGoogleファイナンスhereから入手しました。上記のデータをcsvとしてダウンロードして分析します。どうすればダウンロードできますか?私はできる場合はPythonを使用することを好むだろう。過去の株価指数データをダウンロード

+1

を私はあなたの担当者を持つユーザーは、ここで適切な、完全な質問をする方法を知らない驚いて答えとしてマークすることを忘れないでください。何を試しましたか? –

答えて

1

下記のコードを使用して、株式データをダウンロードすることができます。

import requests 
from bs4 import BeautifulSoup 
import pandas as pd 

url = "https://www.google.com/finance/historical?cid=207437&startdate=Jan%201%2C%201971&enddate=Jul%201%2C%202017&start={0}&num=30" 
#change this to 138 
how_many_pages=3 
start=0 

for i in range(how_many_pages): 
    new_url = url.format(start) 
    page = requests.get(new_url) 
    soup = BeautifulSoup(page.content, "html5lib") 
    table = soup.find_all('table', class_='gf-table historical_price')[0] 

    columns_header = [th.getText() for th in table.findAll('tr')[0].findAll('th')] 
    data_rows=table.findAll('tr')[1:] 
    data=[[td.getText() for td in data_rows[i].findAll(['td'])] for i in range(len(data_rows))] 

    if (start == 0): 
     final_df = pd.DataFrame(data, columns=columns_header) 
    else: 
     df=pd.DataFrame(data, columns=columns_header) 
     final_df = pd.concat([final_df, df],axis=0) 
    start += 30 
#write your code to save final_df to csv 

Plsのは、それは場合に役立ちます:)

+0

ページ数を4110に増やすと、ファイル 'nse_data.py"(14行目)が になります。table = soup.find_all( 'table'、class _ = 'gf-table history_price ')[0] IndexError:リストインデックスが範囲外にある' – liv2hak

+0

これを138(= 4110/30 +1)に変更します。 – Prem