2017-07-01 2 views
-1

Ich habe die folgenden Daten des Aktienindex (NSE: NIFTY50) von google finance here .Ich möchte die oben genannten Daten als CSV herunterladen, so dass ich einige Analysen darauf machen kann. Wie lade ich es herunter? Ich würde es vorziehen, Python zu verwenden, wenn ich kann.Download historische Aktienindexdaten

+1

hilft Ich bin überrascht, ein Benutzer mit Ihrem rep nicht weiß, wie hier eine richtige, vollständige Frage zu stellen. Was hast du probiert? (Ich habe nicht nach unten) –

Antwort

1

Sie sollten in der Lage sein, Bestandsdaten unter Verwendung des nachstehenden Codes herunterzuladen.

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 vergessen nicht als Antwort zu markieren, wenn es :)

+0

Wenn ich die Anzahl der Seiten auf 4110 erhöhen, bekomme ich 'Datei 'nse_data.py", Zeile 14, in table = soup.find_all (' Tabelle ', Klasse _ =' gf-table historical_price ') [0] IndexError: Listenindex außerhalb des Bereichs' – liv2hak

+0

ändere das auf 138 (= 4110/30 +1) – Prem

Verwandte Themen